簡體   English   中英

C#,如何在if語句上使用dateTimePicker的值?

[英]C#, how do I use a dateTimePicker's value on if statements?

我正在做的工作是找出一個人的星號,所以我放了一個dateTimePicker來選擇出生日期,但是現在我不確定如何從該dateTimePicker中獲取數據來檢查它是哪個星座。 。

例如,從1月1日到2月14日,您就是這個標志,從這個標志到您就是...您知道我的意思。

您不必擔心年份。 您只需要月份和日期值:

DateTimePicker dtp = new DateTimePicker();

int month = dtp.Value.Month;
int day = dtp.Value.Day;

然后,您可以圍繞各種星號進行if-else語句:

if (month >= 3 && day >= 20 && month < 4 && day <21 )
{
    return AstralSign.Aries;
}
else if (/* some other sign */)
{
    // ...
}

您還可以為這些標志創建一個enum

enum AstralSign
{
   ...
   Aries
   ...
}

DateTimePicker具有屬性Value 它包含用戶選擇的日期。

如果您希望在用戶進行選擇時得到通知,只需訂閱ValueChanged屬性。

然后,只需比較給定的日期是否在任何星號的范圍內。

為了得到星號,我將建立一個嵌套的字典Dictionary<int, Dictionary<int, AstralSign>> ,然后可以通過

selectedSign = astralSigns[pickedDate.Month][pickedDate.Day];

DateTimePicker沒有內置功能可實現此目的。 您將不得不采用if-else方法或使用switch語句來找出特定日期屬於哪個符號。

如果您的DateTimePicker稱為dateTimePicker,則可以這樣操作:

DateTime pickedDate = new DateTime(dateTimePicker.Value.Year, dateTimePicker.Value.Month, dateTimePicker.Value.Day);

然后,您可以根據需要使用pickedDate。

黃道十二宮沒有內置任何內容,因此我建議您為黃道十二宮建立自己的列表。

比較一個日期,您可以將DayOfYear部分與在DatePickerdateTimePicker1.Value )中選擇的Datetime value DayOfYear部分一起使用

所以0到46可能是您的第一個十二生肖,並將其與DayOfYear部分進行比較,您將擁有十二生肖(否則,在比較DateTime對象時,年將是一個問題)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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