c#类的变量,字段

来源:百度知道 编辑:UC知道 时间:2024/06/10 03:31:00
问题一:在声明类的变量时候赋值,或者不赋值如(public int a=0或者public int a)这2个在用的过程中有什么样的区别?如果声明时候不赋值程序会自动给它赋值吗?如果是的话赋的值是多少?
问题二:类的变量和字段有什么关系,据我所知字段就是变量,但变量不一定就是字段。因为字段还联系着属性。不知道对否

类的变量也就做字段,如果不对声明的类变量(基本类型)赋值的话就会被系统初始为,数值型=0,布尔型=false,字符串=null
属性是封装类变量的,就是说都是把类变量定义成私有,不对外界直接公布,而是又属性对外界公布,属性其实就是方法来的,只是被微软稍微改了一下
像在java里就是用方法来访问类变量的
private int a;
public int A
{
set{a = value;}//value是一个隐藏的参数
get{return a;}
}
看下java的“属性”
private int a;
public int getA()
{
return a;
}
public void setA(int value)
{
a = value;
}
看吧,其实是一样的

INT A=0 在内存中开辟了空间 让A=0 将值赋入 INT A 仅仅是开辟一个空间说有A 但是A无值 默认为NULL
至于变量和字段 我还真不知道有没有字段这个东西

一:值类型不赋值程序会自动赋值 比如int型就赋值0
但是无法使用它 如果使用了 编译会报错

二:字段是类的私有变量 被封装以后就会出现属性

1:变量在声明的时候不赋值的话,默认值还是为0,但是要使用这个变量之前必须先赋值初始到内存.

2:不知道字段的说法是怎么来的,类的变量只存在于内部,封装后引用就只有属性和方法两种,例如static string abc就是属性,在类内容就是变量了,static void abc()就是方法了。

只说一句在c#里int a;如果你不赋值的话会有默认值为0,如果直接拿来用的话a就是0,不会出错的,但是c或者c++都不是不允许而且会出错。

字段就是属性