一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - C#枚舉類型和結構體詳解

C#枚舉類型和結構體詳解

2021-12-06 14:55☆☆☆☆☆ C#

這篇文章主要為大家詳細介紹了C#枚舉類型和結構體,,具有一定的參考價值,感興趣的小伙伴們可以參考一下

注意:枚舉類型和結構體都屬于值類型。

結構體:就是一個自定義的集合,里面可以放各種類型的元素,用法大體跟集合一樣。 

一、定義的方法:

?
1
2
3
4
5
6
7
8
9
struct student
{
public int nianling;
public int fenshu;
public string name;
public string sex;
public int sum;
 
}

以上的語句就是定義一個名稱為student的結構體,其中包含int類型的年齡、分數、總和,和string類型的姓名、性別。 

二、用法:

在main主函數外面定義了一個名稱為student的結構體,以便于main函數之中使用。 

student st = new student();//這句話是在main函數之中定義了一個名為st的student類型的結構體。 

下面開始為里面的每個元素賦值:(結構體名+點+結構體里面的變量名稱=值) 

main函數下 

?
1
2
3
4
5
{
st.nianling=22;
st.fenshu=80;
st.name="小李";
}

賦值完成之后可以打印出被賦值的項。 

三、結構體類型里面包含結構體類型:

可以在此前的student的結構體中在定義一個結構體 

?
1
2
3
4
5
6
7
8
9
public shuxing sx;//代表一個shuxing結構體變量組
}
public struct shuxing
 {
 public double tizhong;
 public double shengao;
 public int nianling;
 public string hunfou;
 }

這樣就可以在用的時候省下再次初始化結構體。

上課內容:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public struct student//如果想讓其他添加出來的類也能夠使用此結構體,需要在前面加上public
 {
 public int nianling;//想讓其他的類可以訪問到其中的變量需要加上public
 public string name;
 public string sex;
 public One qq;//可以結構體中包含另一個結構體
public string[] shuzu;//可以直接定義一個數組,但是沒有開辟空間
}
public struct One
 {
 public string nb;
 public string abc;
 }
 static void Main(string[] args)
 {
 
#region
 //為里面的每個元素賦值:(結構體名+點+結構體里面的變量名稱=值)
student st = new student();//使用之前需要先初始化一下
st.name = "張三";//初始化出來的變量名可以看做一個類對象
st.nianling = 21;//類對象的名稱是不能相同的
st.sex = "男";
st.name = "王五";
 //使用的時候利用變量名點出來其中的變量進行使用
Console.WriteLine(st.name);
 st.qq.abc="qsqs";//結構體中包含另一個結構體類型,可以直接點出來一以下的變量
st.shuzu = new string [9];//使用之前需要先開辟空間
st.shuzu[0] = "趙六";//數組元素賦值方式
 
student st1 = new student();//可以多次初始化類,注意不同的變量名
st1.name = "李四";
st1.nianling = 22;
 st1.sex = "女";
 #endregion
 }

枚舉類型:
1.枚舉類型只針對字符串,對于索引,無意義
2.常量的集合,這些常量只能取值,不能賦值
3.用常量表示所引用的字符串,這樣可以省去重復寫入長字符串 

練習:
20人投票,五個候選人,用switch case

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//20人投票 switch case 枚舉
//投票的時候輸入1,2,3,4,5
 //利用12345來確定是哪一個候選人得票
//計算得票數
//得票最高的勝出
Console.WriteLine("投票選班長!請輸入1、2、3、4、5來分別代表張三、李四、王五、趙六、馮七");
int[] shuzu = new int[20];
 for (int i = 1; i <= 20; i++)
 {
 Console.Write("請第" + i + "位同學來進行投票:");
shuzu[i - 1] = int.Parse(Console.ReadLine());
 }
 Console.WriteLine("投票結束!按下回車開始統計票數!");
Console.ReadLine();
 int zhangsan = 0, lisi = 0, wangwu = 0, zhaoliu = 0, fengqi = 0, zuofei = 0;
 for (int i = 0; i < 20; i++)
 {
 switch (shuzu[i])
 {
 case (int)Houxuanren.one:
 zhangsan++;
 break;
 case (int)Houxuanren.two:
 lisi++;
 break;
 case (int)Houxuanren.three:
 wangwu++;
 break;
 case (int)Houxuanren.four:
 zhaoliu++;
 break;
 case (int)Houxuanren.five:
 fengqi++;
 break;
 default:
 zuofei++;
 break;
 }
 }
 if (zhangsan > lisi && zhangsan > wangwu && zhangsan > zhaoliu && zhangsan > fengqi)
 {
 Console.WriteLine("張三勝出!票數為" + zhangsan);
 }
 else if (lisi > zhangsan && lisi > wangwu && lisi > zhaoliu && lisi > fengqi)
 {
 Console.WriteLine("李四勝出!票數為" + lisi);
 }
 else if (wangwu > lisi && wangwu > zhangsan && wangwu > zhaoliu && wangwu > fengqi)
 {
 Console.WriteLine("王五勝出!票數為" + wangwu);
 }
 else if (zhaoliu > lisi && zhaoliu > wangwu && zhaoliu > zhangsan && zhaoliu > fengqi)
 {
 Console.WriteLine("趙六勝出!票數為" + zhaoliu);
 }
 else if (fengqi > lisi && fengqi > wangwu && fengqi > zhaoliu && fengqi > zhangsan)
 {
 Console.WriteLine("馮七勝出!票數為" + fengqi);
 }
 Console.WriteLine("作廢的票數為:" + zuofei);
 Console.ReadLine();

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
主站蜘蛛池模板: 精品亚洲视频在线观看 | 四虎永久免费地址在线观看 | 亚洲福利一区二区 | 调教处男 | 99re在线精品视频免费 | 四虎国产成人亚洲精品 | 动漫人物差差差动漫人物免费观看 | 国产成人h视频在线播放网站 | 天美传媒影视在线免费观看 | 操尼姑| 无码日韩精品一区二区免费 | 国产精品久久久久久搜索 | 9191免费永久观看 | 毛片资源站 | 色一情一区二区三区四区 | 久久综合给合久久狠狠狠… | 国产日韩免费视频 | 夫妇交换小说 | 视频一区精品 | 午夜dj影院在线视频观看完整 | 天天天综合网 | 欧美洲大黑香蕉在线视频 | 高清不卡免费一区二区三区 | 深夜www| 操bb| a毛片免费全部在线播放毛 a级在线看 | 好男人在线观看免费高清2019韩剧 | 91丝袜足控免费网站xx | 齐天大性之七仙女欲春迅雷链接 | 欧美香蕉视频 | 亚偷熟乱区视频在线观看 | 国产精品久久久久久网站 | 国产高清久久 | 扒开胸流出吃奶 | 丁香久久婷婷 | 饭冈加奈子黑人解禁在线播放 | sao虎在线精品永久在线 | 色99视频| 草莓香蕉榴莲丝瓜秋葵绿巨人在线看 | 久久不卡免费视频 | 久久精品WWW人人爽人人 |