簡體   English   中英

自定義日期時間結構

[英]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,然后依次調用smh您可能最終得到59、59、2,因為當前時間從1:59:59轉換為2:00:最近兩個通話之間的00。 如果只取一次 DateTime.Now的值,並要求其提供所有屬性,則將獲得一致的視圖。

為什么要重新發明輪子? 使用DateTimeTimeSpan

暫無
暫無

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

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