必须初始化变量(在内存分配地址)才能使用,但自定义结构类型的变量是不需要初始化的(在用的时候自动分配地址),如: using System; class setdata { public static void Main() { mys i; i.tt = 3; Console.WriteLine(i.tt); } public struct mys { public int tt; } }如果有 没有初始化的变量,就会有编译错。如果变量的初始值为null(虽然初始化了但仍然没有分配地址)时,就不能调用它的方法和属性。否则报NullReferenceException的错误。
为了避免出错,在用之前这样: if (obj != null) { ... } 先判断它是不是null,如果不是就用,是null就不用或者做另外的处理。
using System;
class setdata
{
public static void Main()
{
mys i;
i.tt = 3;
Console.WriteLine(i.tt);
}
public struct mys
{
public int tt;
}
}如果有 没有初始化的变量,就会有编译错。如果变量的初始值为null(虽然初始化了但仍然没有分配地址)时,就不能调用它的方法和属性。否则报NullReferenceException的错误。
if (obj != null) {
...
}
先判断它是不是null,如果不是就用,是null就不用或者做另外的处理。