-6

開始が空白または空であることを確認するにはどうすればよいですか。

Employee.CurrentLongTermIncentive.StartDate

私は以下のことを試しました:

Employee.CurrentLongTermIncentive.StartDate!=null // Start is empty it's falied.

Employee.CurrentLongTermIncentive.StartDate.HasValue // Start is empty it's falied.

開始日の null または空白の値を確認し、文字列値に割り当てるにはどうすればよいですか。Startdate は日時形式です。

4

3 に答える 3

4

タイプのオブジェクトDateTimeを null に設定することはできません。これが、コードが失敗する理由です。

を使用DateTime.MinValueして、値が割り当てられていないインスタンスを特定できます。

Employee.CurrentLongTermIncentive.StartDate != DateTime.MinValue;

DateTimeただし、次の宣言を使用して null 許容になるように構成できます。

DateTime? mydate = null;

if (mydate == null) Console.WriteLine("Is Null");
if (mydate.HasValue) Console.WriteLine("Not Null");

注 : ?- これにより、null 非許容値を null として割り当てることができます。

DateTime?開始時刻に使用しているようですので、以下をお試しください

if (!Employee.CurrentLongTermIncentive.StartDate.HasValue) {
  Employee.CurrentLongTermIncentive.StartDate = (DateTime?) DateTime.Parse(myDateString);
}

myDateString、割り当てる日付を表す文字列です。

于 2013-10-08T15:16:18.683 に答える
0

テキストボックスに表示しようとしている場合は、次のようにして、Employee と CurrentLongTermIncentive の両方が null でないことを確認してください。

txtStartDate.Text = GetStartDate(Employee.CurrentLongTermIncentive.StartDate);
private string GetStartDate(DateTime? startDate)
{
        if (startDate != null)
        {
            return startDate.Value.ToShortDateString();
        }
        return "";
}
于 2013-10-08T15:47:55.463 に答える
0

私はあなたが望むかもしれないと思うif Employee.CurrentLongTermIncentive.StartDate != DateTime.MinValue

于 2013-10-08T15:14:48.757 に答える