C # 结构体(Struct)
在 C# 中,结构体是值类型数据结构。struct 关键字用于创建结构体。1.首先,我们先认识一个简单的结构体,并尝试在控制台打印输出。
案例 // struct 创建结构体 GoShopping 结构体名 struct GoShopping { public string name; }; static void main() { //定义结构体变量 goods GoShopping goods; goods.name = "Hello Struct!"; Console.WriteLine("Goods name : {0}",goods.name); Console.ReadKey(); } 效果展示2.其次,我们来了解结构体的短板以及学习弥补短板的方法。
案例 //struct 创建结构体 Shopping 结构体名 struct Shopping { // Hongniu、Maidong 结构体元素名 //第一处报错 public string HongniuMoney = "¥3"; public string MaidongMoney; //第二处报错; } static void Main() { Shopping goods; goods.MaidongMoney = "¥5"; } 第一处报错的原因是未在“struct{ }”后加“;”,结构体正确格式 为:“struct{ };”。 第二处报错的原因是结构体中不能实例属性或字段初始值设定项。3.最后,针对第二处报错原因,我们可以根据结构体与类的区别,使用结构体与类的嵌套解决此问题。
案例 //本案例文字解释:我们去商场购物,将购买的物品付款,然后打包到箱子里, 到家后打开箱子,展示购买物品。 struct GoShopping { //结构体元素依次为 类别、名称、功能、价目。 public string classes; public string name; public string function; public string money; //由于结构体元素无法直接赋初值,所以将商品打包到箱子内并且进行赋值处理 public void Box(string c, string n,string f,string m) { classes = c; name = n; function = f; money = m; } //定义OpenBox类让我们打开箱子,展示里面的物品。 public void OpenBox() { Console.WriteLine("Classes : {0}", classes); Console.WriteLine("Name : {0}", name); Console.WriteLine("Function : {0}", function); Console.WriteLine("Money : {0}", money); } }; //在Main方法中定义结构体变量,并打开箱子。 static void Main() { //用法: 结构体名 变量名 = new 结构体名(); //也可以 GoShopping goods1,goods2; 效果是一样的。 GoShopping goods1 = new GoShopping(); GoShopping goods2 = new GoShopping(); /*为物品(goods1和goods2赋值),下面例子中为 类型:饮品、名称:红牛、 功能:提神、价目:人民币8元,如果购买更多的商品可以再添加结构体变量。*/ goods1.Box("drink","Hong Niu","refresh","¥eight"); goods2.Box("snacks","De Fu chocolate","replenish energy" ,"¥ten"); //我们来打开箱子。 goods1.OpenBox(); Console.WriteLine(); goods2.OpenBox(); Console.ReadKey(); } 效果展示 本片博客就到这里结束了,如有不解,欢迎评论私信,感谢来访。