簡體   English   中英

如何在 C# 中創建可為空的字符串和日期時間值

[英]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 是空的,它看起來是空的。 我怎么解決這個問題?

你的問題不清楚。 可能是您問題的maksvalueMaxValue

通過您的評論和問題更新,我認為您想要空值而不是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM