繁体   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