代码之家  ›  专栏  ›  技术社区  ›  mpen

C中的Const方法#

c#
  •  43
  • mpen  · 技术社区  · 14 年前

    int func_that_does_not_modify_this(int arg) const {}
    

    放置 const 在函数末尾,可以防止意外修改任何内部属性,并让调用方知道此函数不会修改对象。

    在C#中有这样的概念吗?

    3 回复  |  直到 12 年前
        1
  •  2
  •   Allon Guralnek    4 年前

    C 8增加了C++风格的支持 const struct s、 您可以添加 readonly 只读 结构方法仍然可以调用非- 方法,但该方法将在 结构 以防止对原始数据进行任何更改。

    更多信息:

        2
  •  60
  •   Jon Skeet    14 年前

    每个人

    当然,如果您将自己的类型设计为不可变的(比如 string )那么它上的所有实例方法都是有效的常量。这并不总是实用的,但是在适当的地方使用它是一种重要的技术。

        3
  •  17
  •   Community CDub    7 年前

    Code Contract 将来应该提供这样的功能。当前,可以将方法标记为 [Pure]

    相关问题: Pure functions in C#

        4
  •  8
  •   Brian Rasmussen    14 年前

    const & 任何一个。

    正如Jon所指出的,您显然可以实现一个const方法,但是除了文档之外,没有办法让调用者知道方法是const。