[英]A custom datetime struct
我正在嘗試開發一個時鍾應用程序,其中每個圖像的數字從0到9。 編寫了一個結構,該結構會不時地給我每個數字。 以下是該結構。
public struct TimeStruct
{
public DateTime dt
{
get
{
return DateTime.Now;
}
}
public int s
{
get
{
return dt.Second;
}
}
public int s2
{
get
{
return s % 10;
}
}
public int s1
{
get
{
return s / 10;
}
}
public int m
{
get
{
return dt.Minute;
}
}
public int m2
{
get
{
return m % 10;
}
}
public int m1
{
get
{
return m / 10;
}
}
public int h
{
get
{
return dt.Hour;
}
}
public int h2
{
get
{
return h % 10;
}
}
public int h1
{
get
{
return h / 10;
}
}
public int d
{
get
{
return (int)dt.DayOfWeek;
}
}
}
請指導我修改此結構,以便僅在s1變為0時才設置prop s2。分鍾也是如此。 使用的技術:Silverlight平台:Windows Phone 7
使用struct是個壞主意嗎?
您的意思是“僅當s1變為0時才應設置prop s2”-當s1 不為 0時您希望它做什么? 您是否正在尋找可空值類型,在某些情況下s1將返回空值?
我不得不說,我認為這是一種令人困惑的類型。 它沒有真實狀態-實際上只是一堆靜態屬性。 是否有理由不將其實現為一堆靜態屬性,例如在CurrentDateTime
類中? 或者只使用DateTime.Now
? 請注意,如果您一次向結構體索要一堆值,那么隨着時間的流逝,它很可能給您帶來不一致的結果。 例如,假設時間為1:59:59,然后依次調用s
, m
和h
您可能最終得到59、59、2,因為當前時間從1:59:59轉換為2:00:最近兩個通話之間的00。 如果只取一次 DateTime.Now
的值,並要求其提供所有屬性,則將獲得一致的視圖。
為什么要重新發明輪子? 使用DateTime
和TimeSpan
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.