日期:2014-05-17  浏览次数:20866 次

C# 结构
结构中设置私有字段,然后用属性进行封装,在外通过属性进行访问,报错说 使用了未赋值的局部变量
 
代码如下
结构体代码

namespace T2TEST
{
    public struct Test02
    {
        //私有字段_a
        private int _a;

        //私有字段_a的属性A
        public int A
        {
            get { return _a; }
            set { _a = value; }
        }

        //私有字段_b
        private double _b;

        //私有字段_b的属性B
        public double B
        {
            get { return _b; }
            set { _b = value; }
        }

        //输出_a,_b
        public void Show() 
        {
            Console.WriteLine("_a={0},_b={1}",_a,_b);
        }
    }
}


调用处代码

namespace T2TEST
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建结构体对象
            Test02 te;
            //通过属性赋值
            te.A = 12;
            te.B = 13.5;
            te.Show();
        }
    }
}

新手求解答
C# Structure 报错

------解决方案--------------------
 //创建结构体对象
 Test02 te=new Test02();这样子
结构类型的属性不能直接赋值:
我觉得结构如果声明时不用 new 实例化,在给公共字段赋值时就自动实例化了。
属性等同于方法,直接调用方法并不会实例化它,而如果先给字段赋值,再调用方法就可以的了。