关于readonly

  当某个字段是引用类型,且该字段是readonly类型时,那么不可改变的是引用,而非引用的对象。如以下代码:

 public sealed class AType
    {
        public static readonly char[] InvalidChar=new char[]{'A','B','C'};
    }
    public sealed class AnOtherType
    {
        public static void M()
        {
             //下面三行代码是合法的,可通过编译,并可成功
            //修改InvalidChailChar中的字符
            AType.InvalidChar[0]='X';
            AType.InvalidChar[1] = 'Y';
            AType.InvalidChar[2] = 'Z';

            //下一行代码非法,无法通过编译
            //因为无法让InvalidChar引用别的什么东西
            AType.InvalidChar = new char[] { 'X', 'Y', 'Z' };
        }
    }
原文地址:https://www.cnblogs.com/xuekai-to-sharp/p/3396597.html