结构

结构
 
struct Student
{
}
和类差不多
    不能包含显示的无参构造函数,自己本身有一个构造函数
构造函数中必须给结构中所有字段复制
不能给字段赋初始值
 
struct Student
    {
        //结构中不能有显示无参构造函数
        //public Student()
        //{
        //}
        //必须给结构中所有的字段赋值
        public Student(string name, bool sex)
        {
            this.name = name;
            this.sex = sex;
        }
        //结构中不能给字段赋初始值
        //private string name="张三";
        private string name;
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        private bool sex;
        public bool Sex
        {
            get { return sex; }
            set { sex = value; }
        }
    }
class Program
    {
        static void Main(string[] args)
        {
            Student stu = new Student();
            stu.Name = "张三";
            stu.Sex = true;

            //结构在赋值的时候 重新赋值了一份
            Student s = stu;
            s.Name = "李四";
            //值类型 会输出 张三 李四  stu.Nme与s.Name在栈中的地址也是不一样的
            Console.WriteLine(stu.Name+"   "+s.Name);

            //类 
            Stud stuc = new Stud();
            stuc.Name = "张";
            Stud sc = stuc;
            sc.Name = "李";
            //类 类是引用类型 把stuc的地址赋给了sc
            Console.WriteLine(stuc.Name+"   "+sc.Name);
            Console.Read();
        }
    }
    class Stud
    {
        private string name;
        public string Name
        {
            get { return name; }
            set { name = value; }
        } 
    }




posted @ 2012-09-09 22:42  十一月的柳叶  阅读(147)  评论(0编辑  收藏  举报