構造体の定義と使用
メニューを表示するにはスワイプしてください
構造体は次の構文で定義。
index.cs
1234567struct structureName { public datatype fieldName1; public datatype fieldName2; public datatype fieldName3; ... }
例えば、学生データを格納する構造体の定義例。
index.cs
12345678struct Student { public int id; public float age; public string name; public string course; public char grade; }
データを保存するには、この構造体を使ってインスタンス(オブジェクトとも呼ばれる)を作成する必要があります。構造体は基本的にカスタムのデータ型であり、そのように扱うことができます。したがって、構造体の新しいオブジェクトを作成するには、次の構文を使用します。
index.cs
1structName variableName;
Student クラスの複数のオブジェクトを作成でき、それぞれがデータを格納可能。
index.cs
123Student student1; Student student2; Student student3;
作成した各オブジェクトは、Student 構造体で定義されたフィールドを持ち、variableName.fieldName 構文を使用してそれらのフィールドからデータの格納やアクセスが可能。例えば、name の student2 フィールドへアクセスして出力できる。
index.cs
1Console.WriteLine(student2.name);
空のオブジェクトが作成されると、フィールドはデータ型に応じて既定値を持ちます:
string- 空文字列"";char- 空文字'';int-0;float-0.0;bool-false。
したがって、student2.name は空の出力となります。
代入演算子(=)を使ってデータを格納できます。
index.cs
1student2.name = "Alex";
この方法で、3つのオブジェクトすべてにデータを格納可能。
index.cs
123456789101112131415161718192021222324252627282930313233343536373839using System; struct Student { public int id; public float age; public string name; public string course; public char grade; } class ConsoleApp { static void Main(string[] args) { Student student1; student1.id = 1; student1.name = "Abigail"; student1.age = 21; student1.course = "C#"; student1.grade = 'A'; Console.WriteLine($"{student1.name} is {student1.age} years old."); Student student2; student2.id = 2; student2.name = "Alex"; student2.age = 22; student2.course = "C#"; student2.grade = 'B'; Console.WriteLine($"{student2.name} has a {student2.grade} in {student2.course}."); Student student3; student3.id = 3; student3.name = "Jennifer"; student3.age = 19; student3.course = "C#"; student3.grade = 'A'; Console.WriteLine($"{student3.name} studies {student3.course}."); } }
注意
variableName.fieldName という式全体は変数として扱うことができるため、上記の例のように文字列フォーマットで使用することが可能。
1. 構造体を定義するために使用されるキーワードはどれですか?
2. 次のコードの出力は何ですか?
すべて明確でしたか?
フィードバックありがとうございます!
セクション 2. 章 2
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 2. 章 2