C# で呼び出し元から複数の値を返す方法

C De Hubi Chushi Yuankara Fu Shuno Zhiwo Fansu Fang Fa



C# を使用する場合、メソッドから呼び出し元に複数の値を返す必要がある場合があります。これは、複雑なデータや計算を処理するときによくあることです。この記事では、C# で複数の値を返すための最も一般的な手法をいくつか紹介します。

1: C# で out パラメータを使用してメソッド呼び出し元に複数の値を返す方法

C# で複数の値を返すもう 1 つの方法は、out パラメーターを使用することです。この場合、out パラメーターは参照によってメソッドに渡される変数であり、メソッドから値を返すために使用できます。次に例を示します。







システムを使用する;

公開授業 プログラム
{
public static void メイン ( )
{
整数 [ ] 数字 = { 3 1 4 1 5 9 2 6 5 3 } ;
int 最小、最大;
GetMinMax ( 数値、アウト最小、アウト最大 ) ;
Console.WriteLine ( $ 「最小: {min}、最大: {max}」 ) ;
}

public static void GetMinMax ( 整数 [ ] 数値、out int min、out int max )
{
最小 = 数値 [ 0 ] ;
最大 = 数 [ 0 ] ;

ために ( 整数 i = 1 ;私 < 数字.長さ; i++ )
{
もしも ( 数字 [ ] < )
{
最小 = 数値 [ ] ;
}
もしも ( 数字 [ ] > 最大 )
{
最大 = 数 [ ] ;
}
}
}
}


この場合、GetMinMax メソッドは、最小値と最大値の 2 つの出力パラメーターと共に、整数配列を入力として受け取ります。 out キーワードは、これらの変数がメソッドからの出力値を格納するために使用されることを示すために使用されます。



メソッド内で、最小変数と最大変数が入力配列の最初の値に初期化されます。次に、メソッドは配列内の残りの値を繰り返し処理し、検出された値に基づいて必要に応じて最小変数と最大変数を更新します。



最後に、メソッドが完了すると、最小値と最大値の更新された値が out パラメーターを介して返されます。 Main メソッドでは、これらの出力値は WriteLine メソッドを使用してコンソールに出力されます。





out キーワードを使用して複数の値を返すことは、メソッドから複数の値を返す必要がある場合に役立つ手法です。ただし、out パラメーターを使用すると、特に複雑なコードを扱う場合に、コードが読みにくく理解しにくくなる可能性があることに注意してください。一般的に、この手法は慎重に、必要な場合にのみ使用することをお勧めします。



2: カスタム クラスを使用して C# のメソッド呼び出し元に複数の値を返す方法

C# で複数の値を返す 3 つ目の方法は、カスタム クラスを使用して、返す値ごとにプロパティまたはフィールドを含むクラスを作成し、メソッドからクラスのインスタンスを返すことです。次に例を示します。

システムを使用する;

名前空間 MyNamespace
{
パブリック クラス MinMaxResult
{
public int 最小 { 得る; 設定 ; }
public int 最大 { 得る; 設定 ; }
}
public static class MinMaxCalculator
{
public static MinMaxResult GetMinMax ( 整数 [ ] 数字 )
{
int 最小 = 数値 [ 0 ] ;
int max = 数値 [ 0 ] ;
ために ( 整数 i = 1 ;私 < 数字.長さ; i++ )
{
もしも ( 数字 [ ] < )
{
最小 = 数値 [ ] ;
}
もしも ( 数字 [ ] > 最大 )
{
最大 = 数 [ ] ;
}
}
戻る 新しい MinMaxResult { 最小 = 最小、最大 = 最大 } ;
}
}
クラス プログラム
{
static void メイン ( [ ] 引数 )
{
整数 [ ] 数字 = { 1 2 3 4 5 6 7 8 9 } ;
MinMaxResult 結果 = MinMaxCalculator.GetMinMax ( 数字 ) ;
Console.WriteLine ( $ 「最小: {result.Min}、最大: {result.Max}」 ) ;
}
}
}


この C# コードは、「MinMaxResult」と「MinMaxCalculator」の 2 つのクラスを含む「MyNamespace」という名前の名前空間を定義します。

「MinMaxResult」クラスには「Min」と「Max」の 2 つのプロパティがあり、それぞれ最小値と最大値を格納するために使用されます。

「MinMaxCalculator」クラスは静的として宣言され、入力として整数の配列を受け取る「GetMinMax」という名前のメソッドが 1 つあります。このメソッドは、ループを使用して配列を反復処理し、最小値と最大値を見つけます。次に、「MinMaxResult」クラスの新しいインスタンスを作成し、その「Min」および「Max」プロパティを見つかった値で初期化してから、メソッドの出力として返します。

最後に、「Program」クラスには、プログラムのエントリ ポイントである「Main」という名前の静的メソッドが含まれています。このメソッドでは、整数の配列が初期化され、「MinMaxCalculator」クラスの「GetMinMax」メソッドに渡されて取得されます。最小値と最大値。

結論

C# でメソッドの呼び出し元に複数の値を返すことは、複雑なデータや計算を処理する場合に重要な機能になる場合があります。 out パラメーターやカスタム クラスなど、複数の値を返すために使用できるさまざまな手法を理解することで、特定の状況に最適なアプローチを選択できます。これらの手法を使用すると、コードがより効率的になり、読みやすくなり、最終的にアプリケーションのパフォーマンスが向上します。