[英]How can I make nullable string and datetime value in C#
ScdDept = fields[8] is DBNull? null:fields[8].ToString();
LeaveDate = fields[9] is DBNulL?DateTime.MaxValue:DateTime.Parse(fields[9].ToString());
如果我向 A 表添加一些值並運行我的應用程序相同的附加值 B 表,我有 A 表和 B 表。 但是在 A 表中 LeaveDate 和 ScdDept 是空的,它看起來是“NULL”,但是 B 表如果 LeaveDate 是空的,它看起來是 maksvalue,而 ScdDept 是空的,它看起來是空的。 我怎么解決這個問題?
你的問題不清楚。 可能是您問題的maksvalue
是MaxValue
。
通過您的評論和問題更新,我認為您想要空值而不是
LeaveDate
Column 的DateTime.MaxValue
。
您的LeaveDate
屬性應如下所示
public DateTime? LeaveDate { get; set; }
然后你像這樣實現。
ScdDept = fields[8] is DBNull ? null : fields[8].ToString();
LeaveDate = fields[9] is DBNull ? (DateTime?)null : DateTime.Parse(fields[9].ToString());
方法 1:如果數據未解析,這將設置默認值。 它甚至會返回解析是否完成。
String.TryParse( fields[8],out ScdDept );
DateTime.TryParse(field[9],out LeaveDate );
方法 2:在聲明 ScdDept 時將其設為可空
private string? ScdDept ;
private DateTime? LeaveDate ;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.