C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#の関数から複数の値を返すにはどうすればよいですか?


c#では、以下のアプローチを使用して複数の値を返すことができます-

  • 参照パラメータ

  • 出力パラメータ

  • 配列を返す

  • タプルを返す

参照パラメータ

class Program{
   static int ReturnMultipleValuesUsingRef(int firstNumber, ref int secondNumber){
      secondNumber = 20;
      return firstNumber;
   }
   static void Main(){
      int a = 10;
      int refValue = 0;
      var res = ReturnMultipleValuesUsingRef(a, ref refValue);
      System.Console.WriteLine($" Ref Value {refValue}");
      System.Console.WriteLine($" Function Return Value {res}");
      Console.ReadLine();
   }
}

出力

Ref Value 20
Function Return Value 10

出力パラメータ

class Program{
   static int ReturnMultipleValuesUsingOut(int firstNumber, out int secondNumber){
      secondNumber = 20;
      return firstNumber;
   }
   static void Main(){
      int a = 10;
      int outValue = 0;
      var res = ReturnMultipleValuesUsingOut(a, out outValue);
      System.Console.WriteLine($" Out Value {outValue}");
      System.Console.WriteLine($" function Return Value {res}");
      Console.ReadLine();
   }
}

出力

Out Value 20
Function Return Value 10

配列を返す

class Program{
   static int[] ReturnArrays(){
      int[] arrays = new int[2] { 1, 2 };
      return arrays;
   }
   static void Main(){
      var res = ReturnArrays();
      System.Console.WriteLine($"{res[0]} {res[1]}");
      Console.ReadLine();
   }
}

出力

1 2

タプルを返す

class Program{
   static Tuple<int, int>ReturnMulitipleVauesUsingTuples(){
      return new Tuple<int, int>(10, 20);
   }
   static void Main(){
      var res = ReturnMulitipleVauesUsingTuples();
      System.Console.WriteLine($"{res.Item1} {res.Item2}");
      Console.ReadLine();
   }
}

出力

10 20

  1. JavaScript関数からオブジェクトを返す方法は?

    JavaScript関数からオブジェクトを返すには、 returnを使用します ステートメント、 this キーワード。 例 次のコードを実行して、JavaScipt関数からオブジェクトを返すことができます- <html>    <head>       <script>          var employee = {             empname: "David"

  2. C#のジェネリックメソッドからnullを返すにはどうすればよいですか?

    Genericsを使用すると、フィールド、メソッド、パラメーターなどのタイプのプレースホルダーを使用してクラスを定義できます。Genericsを使用すると、コンパイル時にこれらのプレースホルダーを特定のタイプに置き換えます。ジェネリックは、山括弧<>を使用して定義できます。コレクションの主な制限は、効果的な型チェックがないことです。これは、C#プログラミング言語のすべてのクラスがオブジェクト基本クラスから拡張されているため、任意のオブジェクトをコレクションに含めることができることを意味します。 また、通常のメソッドのように、ジェネリックメソッドから単純にnullを返すことはできません。以下は