[英]Nullable datetime value
DateTime
值可以為NULL
嗎?
我有這個代碼:
從這里我繼承了我的變量
namespace Transakcija
{
public class Line
{
public System.DateTime DateOfProduction { get; set; }
}
}
然后為每個循環:
foreach (var rw_det in dt_stavke.Rows)
{
var list = new List<Transakcija.Line>();
var l = new Transakcija.Line();
//DateOfProduction
if (rw_det["DPRO02"].ToString().Length <= 0)
{
l.DateOfProduction = default(DateTime);
}
else
{
l.DateOfProduction = new DateTime();
prod_date = rw_det["DPRO02"].ToString();
DateTime pro_date = DateTime.ParseExact(prod_date, "dd.MM.yyyy", CultureInfo.InvariantCulture);
string p_date = pro_date.ToString("yyyy-MM-dd");
l.DateOfProduction = DateTime.Parse(p_date);
}
}
所以l.DateOfProduction
的值必須為null。 我試過這個:
DateTime? dt = null;
l.DateOfProduction = (DateTime)dt;
但我得到錯誤: nullable object must have a value
這是可能的,還是我必須將最小datetime
值傳遞給變量?
DateTime
是一個值類型,因此不能永遠不為null
。 如果您需要“無值”值,請使用Nullable<DateTime>
或簡短的DateTime?
yoe可以通過這種方式擁有Dateime Nullable
DateTime? dtNullable = new Nullable<DateTime>();
if(dtNullable.HasValue)
l.DateOfProduction = dtNullable.Value;
PS:例如,如果您將不可為空的DateTime傳遞給Nullable DateTime,那么它將需要強制轉換
像這樣
DateTime? nullableDateTime = (DateTime?)nonNullableDateTime;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.