• C#结构体


     1 using System;
     2 
     3 namespace C_9_4
     4 {
     5     class Program
     6     {
     7         struct Student
     8         {
     9             public int xuehao;
    10             public string banji;
    11             public string name;
    12             public int age;
    13            // private int IQ;
    14            //访问级受限制,这里只能用public,不然只能读,不能写。
    15            //并且,这里struct里面必须全部完成赋值,才能给其他的数据赋值,
    16            //即如果这里我写了private,他将一直占用一个位置,让s1=s2一直报错。
    17         }
    18         static void Main(string[] args)
    19         {
    20             Student s1, s2,s4;//声明s1,s2变量的存在,这里只在栈中间给了空间
    21                            //堆空间是没有空间给他们的
    22             Student s3 = new Student ();
    23             //这里相当于两步,第一步student s3,声明变量
    24             //第二步 s3= new Student();在堆中间分配内存空间
    25             //这里只是分配了空间,但是里面没有值。
    26 
    27 
    28             //s1赋值
    29             s1.age = 20;
    30             s1.banji = "轨道1901";
    31             s1.name = "我是傻逼";
    32             s1.xuehao = 250;
    33             //s1.IQ = 250;
    34 
    35             //把s1的数据赋值到s2上面去。
    36             s2 = s1;
    37             s2.name = "李少龙科三挂科" ;
    38             s2.banji = "电气及其自动化";
    39             Console.WriteLine("age={0}
    banji={1}
    name={2}
    xuehao={3}
    ", s1.age,s1.banji,s1.name,s1.xuehao);
    40             Console.WriteLine("age={0}
    banji={1}
    name={2}
    xuehao={3}
    ", s2.age, s2.banji, s2.name, s2.xuehao);
    41 
    42             //证明s1,s2没有储存在一起,所以s1的值没有受到影响。
    43             Console.WriteLine("age={0}
    banji={1}
    name={2}
    xuehao={3}
    ", s1.age, s1.banji, s1.name, s1.xuehao);
    44             //这里没有给s3赋值,但是可以输出,因为我们定义了堆空间
    45             Console.WriteLine("age={0}
    banji={1}
    name={2}
    xuehao={3}
    ", s3.age, s3.banji, s3.name, s3.xuehao);
    46 
    47             //这里会报错,因为我们只是在栈里面定义了s4,堆空间里什么都没有,所以会报错
    48             //Console.WriteLine("age={0}
    banji={1}
    name={2}
    xuehao={3}", s4.age, s4.banji, s4.name, s4.xuehao);
    49 
    50         }
    51     }
    52 }
    悟已往之不谏,知来者之可追
  • 相关阅读:
    java多线程--线程和线程池
    java多线程--锁学习
    vue项目中使用iconfont
    组件封装-无数据组件
    添加自定义字体
    时间格式化(自定义格式)
    深度克隆方法
    LazyMan面试题
    lodash.throttle实现节流
    第6章:关系数据库理论(考研重点)
  • 原文地址:https://www.cnblogs.com/ljh-study/p/13618324.html
Copyright © 2020-2023  润新知