Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 構造体の定義と使用 | Structs & Enumerators
C#オブジェクト指向構造

book構造体の定義と使用

メニューを表示するにはスワイプしてください

構造体は次の構文で定義。

index.cs

index.cs

copy
1234567
struct structureName { public datatype fieldName1; public datatype fieldName2; public datatype fieldName3; ... }

例えば、学生データを格納する構造体の定義例。

index.cs

index.cs

copy
12345678
struct Student { public int id; public float age; public string name; public string course; public char grade; }

データを保存するには、この構造体を使ってインスタンスオブジェクトとも呼ばれる)を作成する必要があります。構造体は基本的にカスタムのデータ型であり、そのように扱うことができます。したがって、構造体の新しいオブジェクトを作成するには、次の構文を使用します。

index.cs

index.cs

copy
1
structName variableName;

Student クラスの複数のオブジェクトを作成でき、それぞれがデータを格納可能。

index.cs

index.cs

copy
123
Student student1; Student student2; Student student3;

作成した各オブジェクトは、Student 構造体で定義されたフィールドを持ち、variableName.fieldName 構文を使用してそれらのフィールドからデータの格納やアクセスが可能。例えば、namestudent2 フィールドへアクセスして出力できる。

index.cs

index.cs

copy
1
Console.WriteLine(student2.name);

空のオブジェクトが作成されると、フィールドはデータ型に応じて既定値を持ちます:

  1. string - 空文字列 ""
  2. char - 空文字 ''
  3. int - 0
  4. float - 0.0
  5. bool - false

したがって、student2.name は空の出力となります。

代入演算子(=)を使ってデータを格納できます。

index.cs

index.cs

copy
1
student2.name = "Alex";

この方法で、3つのオブジェクトすべてにデータを格納可能。

index.cs

index.cs

copy
123456789101112131415161718192021222324252627282930313233343536373839
using 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}."); } }
Note
注意

variableName.fieldName という式全体は変数として扱うことができるため、上記の例のように文字列フォーマットで使用することが可能。

1. 構造体を定義するために使用されるキーワードはどれですか?

2. 次のコードの出力は何ですか?

question mark

構造体を定義するために使用されるキーワードはどれですか?

正しい答えを選んでください

question mark

次のコードの出力は何ですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  2

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 2.  2
some-alt