Home [C# 筆記] struct 結構
Post
Cancel

[C# 筆記] struct 結構

struct結構是什麼?

結構可以幫助我們一次性宣告多個不同類型的變量。

語法

1
2
3
[public] struct 結構名 {
	成員; //欄位
}

定義結構struct

1
2
3
4
5
public struct Person {
    public string name;
    public int age;
    public char gender;
}

使用結構struct

1
2
3
4
Person person;
person.name = "Rii";
person.age = 99;
person.gender = '女';

怎麼區分變數和欄位呢?

成員名前面加上底線

1
2
3
4
5
public  struct Person {
	string _name;
	int _age;
	char _gender;
}

再改一個需求,把 char 類型改成 enum列舉類型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Person person;
person._name = "Rii";
person._age = 99;
person._gender = Gender.; //enum列舉類型賦值

// 定義Person結構
public struct Person
{
    public string _name;
    public int _age;
    public Gender _gender; //enum列舉類型
}

//聲明一個性別的enum列舉類型
public enum Gender { 
    , 
    
}

練習一:struct

定義一個結構叫MyColor, 有三個成員,分別定義為 int類型red, green, blue,
聲明一個MyColor類型的變數,並對其成員賦值,使MyColor可以表示成一個紅色。

1
2
3
4
5
6
7
8
9
10
11
12
13
//宣告一個MyColor類型的變數,並對其成員賦值
MyColor color;
color._red = 255; //賦值 rbg:255 0 0
color._blue = 0;
color._green = 0;

//定義一個結構叫MyColor, 有三個成員,分別定義為 int類型red, green, blue
public struct MyColor
{
    public int _red;
    public int _blue;
    public int _green;
}

練習二:struct+enum

定義一個結構類型Person,有三個成員,分別為姓名、性別、年齡,性別用列舉類型。
聲明兩個Person類型的變數,分別為張三 男 18歲/小月 女 16歲。

1.先定義一個性別的enum列舉型別

1
2
3
4
public enum Gender
{
    , 
}

2.定義一個結構類型Person,成員有姓名、性別、年齡

1
2
3
4
5
6
public struct Person
{
    public string _name;
    public int _age;
    public Gender _gender; //性別用列舉類型
}

3.聲明兩個Person類型的變數,分別為張三 男 18歲/ 小月 女 16歲

1
2
3
4
5
6
7
8
9
Person p1;
p1._name = "張三";
p1._age = 18;
p1._gender = Gender.;

Person p2;
p2._name = "小月";
p2._age = 16;
p2._gender = Gender.;

4.使用

1
2
Console.WriteLine($"我是{p1._name},今年{p1._age},我是{p1._gender}生");
Console.WriteLine($"我是{p2._name},今年{p2._age},我是{p2._gender}生");

完整code

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
//3.聲明兩個Person類型的變數,分別為張三 男 18歲/小月 女 16歲
Person p1;
p1._name = "張三";
p1._age = 18;
p1._gender = Gender.;

Person p2;
p2._name = "小月";
p2._age = 16;
p2._gender = Gender.;

//4.使用
Console.WriteLine($"我是{p1._name},今年{p1._age},我是{p1._gender}生");
Console.WriteLine($"我是{p2._name},今年{p2._age},我是{p2._gender}生");

//2.定義一個結構類型Person,成員有姓名、性別、年齡
public struct Person
{
    public string _name;
    public int _age;
    public Gender _gender; //性別用列舉類型
}

//1.定義性別的enum列舉型別
public enum Gender
{
    , 
    
}

/classes-and-structs/fields

This post is licensed under CC BY 4.0 by the author.