2010-07-09 87 views
0

我正在試圖開發一個時鐘應用程序與從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

使用結構是一個壞主意嗎?

回答

3

你是什麼意思「prop s2只能在s1變爲0時設置」 - 當s1 不是 0時,你希望它做什麼?您是否正在尋找可空值類型,其中s1在某些情況下會返回空值?我不得不說,我認爲這是一個相當混亂的類型。它沒有真正的狀態 - 它實際上只是一堆靜態屬性。任何不作爲一堆靜態屬性實現的原因,例如在CurrentDateTime班?或者只是使用DateTime.Now?請注意,如果您問結構中的一組值,一次一個,隨着時間的流逝,它可能會給您帶來不一致的結果。例如,假設時間是1:59:59,您可以撥打s,然後m,然後h - 當前時間從1:59:59到2:00時,您可能最終得到59,59,2。 00之間的最後兩個電話。如果您的值爲DateTime.Now只需一次並詢問其所有屬性,則會得到一致的視圖。

2

爲什麼重新發明輪子?使用DateTimeTimeSpan

相關問題