c# - 如何在 C# 中将类实例声明为常量?

标签 c# .net constants

我需要实现这个:

static class MyStaticClass
{
    public const TimeSpan theTime = new TimeSpan(13, 0, 0);
    public static bool IsTooLate(DateTime dt)
    {
        return dt.TimeOfDay >= theTime;
    }
}

theTime 是一个常量(说真的:-),就像 π 一样,例如,在我的例子中,从设置中读取它是没有意义的。我希望它被初始化一次并且永远不会改变。

但 C# 似乎不允许用函数(构造函数就是)初始化常量。如何克服这个问题?

最佳答案

使用readonly 代替const 可以初始化并且之后不能修改。这就是您要找的吗?

代码示例:

static class MyStaticClass
{
    static readonly TimeSpan theTime;

    static MyStaticClass()
    {
        theTime = new TimeSpan(13, 0, 0);
    }
}

关于c# - 如何在 C# 中将类实例声明为常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6231253/

相关文章:

objective-c - 在 Debug (Objective-C) 中编译时出现 77 unsigned long const 警告

clojure - "Can' t 在代码中嵌入对象” Clojure 中 UTF-8 常量的错误

c# - Form.ShowDialog() 不显示启用调试的窗口

c# - span 标签 onclick 调用代码隐藏方法

c# - .NET HttpClient - 测量流下载速度

具有硬编码 getter 和 setter 的 C# 属性

.net - 导航属性 'SenderId' 不是类型 'Conversation' 上的声明属性

.net - 免费的 NHibernate 辅助工具?

c# - 显示使用 ajax 更新的多个相关 ViewModel 的 MVC 页面

c - 如何在 1990 年的 const 定义中添加 2 个整数?