Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Structのメソッド | Structs & Enumerators
C#オブジェクト指向構造

bookStructのメソッド

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

構造体はデータフィールドだけでなく、メソッドも持つことができます。構造体内でのメソッドの作成方法は、一般的なメソッドの作成方法と同様です。

index.cs

index.cs

copy
123456789
struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }

例:

index.cs

index.cs

copy
12345678910
struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } }

Player構造体には、displayScorenameを含む書式付きメッセージを表示するscoreメソッドが含まれています。namescoreの値は各**オブジェクト(インスタンス)**ごとに異なるため、displayScoreメソッドはオブジェクトごとに異なる出力を表示します。

メソッドにはvariableName.methodName()構文でアクセスして実行できます。Player構造体の使用例を見てみましょう。

index.cs

index.cs

copy
123456789101112131415161718192021222324252627282930
using System; struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } } class ConsoleApp { static void Main(string[] args) { Player player1 = new Player(); Player player2 = new Player(); player1.name = "SuperKillerPro"; player1.score = 100; player2.name = "Cyrex"; player2.score = 77; player1.displayScore(); player2.displayScore(); } }

この例では、Player クラスを使って2つのオブジェクトが作成され、それぞれにデータが割り当てられました。各オブジェクトで displayScore メソッドが呼び出され、それぞれ異なる出力が得られました。

パラメーターを持つメソッドも作成できます。スコアを指定した値だけ増やす新しいメソッド addScore を追加し、使用してみましょう:

index.cs

index.cs

copy
12345678910111213141516171819202122232425262728293031
using System; struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } public void addScore(int add) { score += add; } } class ConsoleApp { static void Main(string[] args) { Player player1 = new Player(); player1.name = "SuperKillerPro"; player1.score = 100; player1.displayScore(); player1.addScore(70); player1.displayScore(); } }

出力から、このメソッドがスコアを 70 ポイント増やしていることがわかります。

1. メソッドを宣言するための有効なキーワードはどれですか?

2. 次のコードの出力はどうなりますか?

question mark

メソッドを宣言するための有効なキーワードはどれですか?

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

question mark

次のコードの出力はどうなりますか?

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

すべて明確でしたか?

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

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

セクション 2.  5

AIに質問する

expand

AIに質問する

ChatGPT

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

セクション 2.  5
some-alt