域和属性

博客介绍了C#中保存类实例数据信息的两种方法:域和属性。属性可实现良好的数据封装和隐藏。域的初始化分静态域和非静态域,默认初始化前值不可预测。还指出属性不属于变量,不能作ref或out参数,静态属性引用有特定要求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 域和属性

为了保存类的实例的各种数据信息,C#给我们提供了两种方法:域和属性.属性实现了良好的数据封装和隐藏.
域的初始化:
对于静态变量,非静态变量和数组元素,这些变量自动初始化为本身的默认值.对于所有引用类型的变量,默认值为null.
在类中,域的初始化分为两种:对于静态域,类在装载时进行初始化;对于非,在类的实例创建时进行.在默认的初始化前,域的值是不可预测的.比如:
using System;
class Test{
 static int a=b+1;//必须为静态变量,否则编译不会通过.
 static int b=a+1;

 Test(){//构造函数不能有返回值,包括void
  Console.WriteLine ("the a={0};b={1};",a,b);
 }

 public static void Main(){
  Test a=new Test();
 }
}

和域不同,属性不属于变量,因此不能把属性作为ref或out参数进行传递.
静态属性需要使用类型名称进行引用.静态属性访问器中使用this将会出错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值