Nullable<>基礎應用
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace NullableDemo
{
class Employee
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
private bool isMarried;
public bool IsMarried
{
get { return isMarried; }
set { isMarried = value; }
}
// marriedTime實際上還是一個DateTime類型
private Nullable<DateTime> marriedTime;
public Nullable<DateTime> MarriedTime
{
get
{
return this.marriedTime;
}
set
{
if (!this.isMarried)
this.marriedTime = null;
else
this.marriedTime = value;
}
}
public Employee(string name, bool ismarried)
{
this.name = name;
this.isMarried = ismarried;
}
public void ShowInfo()
{
Console.WriteLine("Name:{0}", this.Name);
Console.WriteLine("Married:{0}", this.isMarried ? "Yes" : "No");
if (this.MarriedTime.HasValue)
{
Console.WriteLine("Anniversary:{0:MMMM d}", this.MarriedTime);
}
else
{
Console.WriteLine("Anniversary:none");
}
}
static void Main(string[] args)
{
Employee e1 = new Employee("Tom", true);
e1.marriedTime = Convert.ToDateTime("1990-1-1");
e1.ShowInfo();
Employee e2 = new Employee("Lily", false);
e2.ShowInfo();
Console.ReadLine();
}
}
}
最後更新:2017-04-02 22:15:58