none
在C/C++可以通过const修饰一个函数,C#中有没有与之对应的修饰符? RRS feed

  • 问题

  • 在C/C++可以通过const修饰一个函数,C#中有没有与之对应的修饰符?
    我想要实现与C/C++中的const相同的操作,是不是只能通过使用const或readonly设置字段?
    做最好的自己
    2009年9月14日 8:30

答案

  • 你好!
         C++中声明为const的成员函数不能修改数据成员,一旦修改了数据成员,会出现编译错误!
         C#中没有提供这个机制!
    周雪峰
    2009年9月14日 16:34
    版主
  • C++生成的IL里面会有,不过会是可选属性,其他不支持这个属性的语言不受C++里面声明的const的限制。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    2009年9月14日 20:29
    版主

全部回复

  • 你好C#中也有const这个关键字 指定对象或者变量不能被修改
    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年9月14日 8:42
    版主
  • 你好!
         关于这个问题,可以参考我写的一篇文章,在文章里我对常量进行了一些分析,希望对你有帮助:
    http://www.cnblogs.com/xuefeng1982/archive/2009/06/17/1505263.html
    周雪峰
    2009年9月14日 11:41
    版主
  • C++中const可以修饰成员函数,C#中const只能修饰字段。
    我想知道这二者的相同点和异同点。
    做最好的自己
    2009年9月14日 15:42
  • 你好!
         C++中声明为const的成员函数不能修改数据成员,一旦修改了数据成员,会出现编译错误!
         C#中没有提供这个机制!
    周雪峰
    2009年9月14日 16:34
    版主
  • C++生成的IL里面会有,不过会是可选属性,其他不支持这个属性的语言不受C++里面声明的const的限制。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    2009年9月14日 20:29
    版主