Alerr Asked:2020-04-09 03:15:20 +0000 UTC2020-04-09 03:15:20 +0000 UTC 2020-04-09 03:15:20 +0000 UTC C#:readonly 和 const 有什么区别? 772 大家好!C# 有 const 和 readonly。我在网络上只找到了关于static readonly和const的区别的资料。just readonly 和 const 有什么区别? c# 1 个回答 Voted Best Answer rdorn 2020-04-09T04:00:57Z2020-04-09T04:00:57Z 在编译期间,带有修饰符的字段的值const在代码中访问它们的那些地方被替换。这意味着如果这样的字段在一个程序集的类中声明,但被另一个程序集中的类使用,则需要重新编译从属程序集,以便将更改的值应用到从属程序集中。您只能在声明时设置一个值。一般来说const,字段不完全是字段。 带有修饰符的字段readonly是成熟的字段,不同之处在于只允许在构造函数中更改它们的值。分别static readonly- 在静态构造函数中(声明中的字段初始化代码由编译器传输到构造函数)。因此,readonly例如,-field 值可以根据传递给构造函数的参数进行计算,这对于const-fields 是不可能的。 在大多数情况下,当您的项目包含多个模块时,建议使用 exactly readonly-fields 而不是-fields。const 我们还有一份别致的文献列表,推荐阅读以学习 C# 和 .NET。列表中的书籍通常按难度级别划分。他们中的大多数都可以在网上以电子形式找到,会有一个愿望。恰好程序员离不开书。
在编译期间,带有修饰符的字段的值
const在代码中访问它们的那些地方被替换。这意味着如果这样的字段在一个程序集的类中声明,但被另一个程序集中的类使用,则需要重新编译从属程序集,以便将更改的值应用到从属程序集中。您只能在声明时设置一个值。一般来说const,字段不完全是字段。带有修饰符的字段
readonly是成熟的字段,不同之处在于只允许在构造函数中更改它们的值。分别static readonly- 在静态构造函数中(声明中的字段初始化代码由编译器传输到构造函数)。因此,readonly例如,-field 值可以根据传递给构造函数的参数进行计算,这对于const-fields 是不可能的。在大多数情况下,当您的项目包含多个模块时,建议使用 exactly
readonly-fields 而不是-fields。const我们还有一份别致的文献列表,推荐阅读以学习 C# 和 .NET。列表中的书籍通常按难度级别划分。他们中的大多数都可以在网上以电子形式找到,会有一个愿望。恰好程序员离不开书。