关于readonly修饰符

修饰字段:

1.值类型:不能修改值

2.引用类型:是指该字段引用的对象不可以修改,但是里面的内容是可以修改的!

示例:

static void Main(string[] args)
        {

            Console.WriteLine(AContainer.c_a3.i);
            AContainer.c_a3.i = 10;
            Console.WriteLine(AContainer.c_a3.i);
            Console.ReadKey();
        }

  

public class A3
        {
            public int i { get; set; }
        }

        public static class AContainer
        {
            public  static readonly A3 c_a3 = new A3(); 

            //引用类型的readonly是指该字段引用的对象不可以修改,但是里面的内容是可以修改的!

        }
时间: 2024-08-06 11:23:19

关于readonly修饰符的相关文章

const 和 readonly 修饰符的用法

1. 只有C#内置类型(int,double,long等)可以声明为const;结果.类和数组不能声明为const. 2. readonly 是在字段上使用的修饰符,直接以类名.字段访问. 3. const 必须在申明中初始化.之后不能再修改. 4. readonly可以在申明中初始化,也可以在构造函数中初始化,其它情况不能修改. namespace const_and_readonly { class Program { static void Main(string[] args) { Co

C# const和readonly修饰符的区别

const 的概念就是一个包含不能修改的值的变量.常数表达式是在编译时可被完全计算的表达式.因此不能从一个变量中提取的值来初始化常量.如果 const int a = b+1;b是一个变量,显然不能再编译时就计算出结果,所以常量是不可以用变量来初始化的. readonly 允许把一个字段设置成常量,但可以执行一些运算,可以确定它的初始值.因为 readonly 是在计算时执行的,当然它可以用某些变量初始化.readonly 是实例成员,所以不同的实例可以有不同的常量值,这使readonly更灵活

C#语言中的修饰符汇总

1. 访问修饰符 指定声明的类型和类型成员的可访问性. (1) public:对任何类和成员都公开, 无限制访问;是类型和类型成员的访问修饰符.公共访问是允许的最高访问级别.对访问公共成员没有限制. (2) private:仅仅对该类公开;是一个成员访问修饰符.私有访问是允许的最低访问级别.私有成员只有在声明它们的类和结 构体中才是可访问的. (3) internal:只能值包含该类的程序集中访问该类(只是单独的项目,而不是整个解决方案);是类型和类型成员的访问修饰符.只有在同一程序集的文件中,

C#与Java在修饰符上的不同

1.readonly 修饰符仅用于修饰类的数据成员.正如其名字说的,一旦它们已经进行了写操作.直接初始化或在构造函数中对其进行了赋值,数据成员就只能对其进行读取. readonly 和 const 数据成员不同之处在于 const 要求你在声明时进行直接初始化. class MyClass { const int constInt = 100; //直接进行 readonly int myInt = 5; //直接进行 readonly int myInt2; public MyClass()

C#语言中的修饰符

public:公有访问.不受任何限制. private:私有访问.只限于本类成员访问,子类和实例都不能访问. protected:保护访问.只限于本类和子类访问,实例不能访问. internal:内部访问.只限于本项目(程序集)内访问,其他不能访问. protected internal :内部保护访问.只限于本项目或是本类和子类访问,其他不 能访问 1.类(class)    默认的修饰符:private        可以被修饰的:public,private,internal,protec

12、类成员访问修饰符public/private/producted/readonly

1.private 类的私有成员 private 类的私有成员,只能在内部访问,在外部访问不到,无法被继承,我们可以将不需要被外部修改的定义为私有的 私有成员,只能在内部访问,在外部访问不到 private 可以在类的内部访问私有成员,不能再外部访问,但是在外部可以访问这个getType,从而访问到type,方法也是默认public公开的 私有成员无法被继承  2.protected受保护的 和private类似,也是私有成员,只能在内部访问,外部无法访问,但是可以被继承 可以被继承,但是只能在

C# 基础(一) 访问修饰符、ref与out、标志枚举等等

C# 基础(一) 访问修饰符.ref与out.标志枚举等等 一.访问修饰符 在C#中的访问修饰符有:private.protected.internal.public public:公共类型,同一程序集或其他程序集都可以访问此成员 private:私有类型,同一类里或结构里才可以访问此成员 protected:保护类型,同一类里或者派生类中才可以访问此成员 internal:内部类型,只有在同一程序集才可以访问此成员 访问性不一致:子类的访问权限不能比父类高.防止暴露父类的信息.. 二.stat

[.net 面向对象编程基础] (7) 基础中的基础——修饰符

[.net 面向对象编程基础] (7) 基础中的基础——修饰符 在进入C#面向对象核心之前,我们需要先对修饰符有所了解,其实我们在前面说到变量和常量的时候,已经使用了修饰符,并且说明了变量和常量的修改符. 首先 修饰符是什么? 修饰符用于限定类型以及类型成员的申明 从定义可以看出按功能分为两类:访问修饰符和声明修饰符 1.访问修饰符 (5个) 访问修饰符 说明 public 公有访问.不受任何限制. private 私有访问.只限于本类成员访问,子类,实例都不能访问. protected 保护访

修饰符 extern/static/const/UIKIT_EXTERN(OC版extern) 的使用

先逐个分析每个修饰符单独代表的含义,然后再分析某些修饰符组合在一起的时候所代表的含义. const const 相对最好理解,就是修饰的东西不能再被修改. 没有 const 修饰的指针,指针 p 和 *p 都能被修改: 1 // // 定义一个指针 2 int *p = NULL; 3 // // 定义2 个int 类型的变量 4 5 int a = 10; 6 int b = 30; 7 8 // p 指向 a 9 NSLog(@"p = %p, a = %d, b = %d", p