ホームページ  >  記事  >  バックエンド開発  >  C# の 3 つのキーワード params、Ref、out の詳細な紹介

C# の 3 つのキーワード params、Ref、out の詳細な紹介

黄舟
黄舟オリジナル
2017-05-28 10:09:201709ブラウズ

この記事では主にparamsキーワード、refキーワード、outキーワードについて説明します。非常に優れており、参考値があり、必要な友人はそれを参照できます

これら 3 つのキーワードに関する前に、いくつかの独自の操作を学習できます

using System;
using System.Collections.Generic;
using System.Text;
namespace ParamsRefOut
{
  class Program
  {
    static void ChangeValue(int i)
    {
      i=5;
      Console.WriteLine("The ChangeValue method changed the value "+i.ToString());
    }
    static void Main(string[] args)
    {
      int i = 10;
      Console.WriteLine("The value of I is "+i.ToString());
      ChangeValue(i);
      Console.WriteLine("The value of I is " + i.ToString());
      Console.ReadLine();
    }
  }
}

実行結果を観察して見つけてください

値は変更されていません。このときの動作原理は、前回のC言語での関数の動作と同じかもしれません。 この記事では主にparamsキーワード、refキーワード、outキーワードについて説明します。

1) params キーワード、公式の説明では、メソッドのパラメータの長さが可変の場合に使用されます。メソッドに含まれるメソッド パラメータの数がわからない場合は、params キーワードを使用して問題を解決できます。

using System;
using System.Collections.Generic;
using System.Text;
namespace ParamsRefOut
{
  class number
  {
    public static void UseParams(params int [] list)
    {
      for(int i=0;i<list.Length;i++)
      {
        Console.WriteLine(list[i]);
      }
    }
    static void Main(string[] args)
    {
      UseParams(1,2,3);
      int[] myArray = new int[3] {10,11,12};
      UseParams(myArray);
      Console.ReadLine();
    }
  }
}
2) refキーワード:

typeパラメータを参照するには

を使用します。メソッド内のパラメータに加えられた変更は

変数に反映されます


using System;
using System.Collections.Generic;
using System.Text;
namespace ParamsRefOut
{
  class number
  {
    static void Main()
    {
      int val = 0;
      Method(ref val);
      Console.WriteLine(val.ToString());
    }
    static void Method(ref int i)
    {
      i = 44;
    }
  }
}
3) outキーワード: outも同様です。 ref に追加されますが、初期化する必要はありません。

以上がC# の 3 つのキーワード params、Ref、out の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。