コード内のハードコーディングされた文字列を避けるために、C# で nameof 演算子と呼ばれる演算子を使用します。この演算子は、コード名の要素を受け入れ、同じ要素の文字列リテラルとクラス名を返します。クラスのすべてのメンバーは次のようになります。変数、メソッド、定数はパラメータとして nameof 演算子に渡すことができ、文字列リテラルが返されます。nameof 演算子を使用して返されるこの文字列リテラルは、指定された名前がコンパイラによってチェックされて何かが存在するかどうかが確認されるため、特別な種類の文字列リテラルです。その名前と、ビジュアル スタジオによって参照されている場合。
C# の nameof 演算子の構文は次のとおりです。
nameof(Expression)
コード:
using System; //a namespace called name is defined namespace Name { //a class called check is defined class Check { //main method is called static void Main(string[] args) { //nameof operator is used Console.WriteLine(nameof(Name)); Console.WriteLine(nameof(Check)); Console.WriteLine(nameof(Check.Main)); Console.WriteLine(nameof(Main)); Console.WriteLine(nameof(args)); } } }
出力:
上記のプログラムでは、name という名前空間が定義されています。次に、check というクラスが定義されます。次に、main メソッドが呼び出されます。次に、nameof 演算子を使用して、名前空間の名前、プログラムの名前、main メソッド、およびその引数を識別します。ここで nameof 演算子を使用するポイントは、コード名の項目のいずれかを変更した場合、コード内で使用されているすべての nameof 演算子を変更する必要があるということです。そうしないと、ビルドが失敗します。 nameof 演算子を使用している場合、コンパイラーはバグを指摘します。それ以外の場合、プログラムが運用環境で使用されるときにバグが見つかります。
以下に挙げる例は次のとおりです
演算子の名前を示すプログラム。
コード:
using System; //a namespace called Features is defined namespace Features { //a class called Example is defined class Example { //an integer array called array is defined int[] array = new int[5]; //main method is called public static void Main(string[] args) { //an instance of the class Example is created Example ex1 = new Example(); //try and catch block is defined try { //the showop method is called using the instance of the Example class ex1.showop(ex1.array); } catch(Exception e) { Console.WriteLine(e.Message); //the method that throws the exception is displayed Console.WriteLine("The name of the method is: "+nameof(ex1.showop)); } } int showop(int[] x) { x[5] = 12; return x[5]; } } }
出力:
上記のプログラムでは、 features という名前空間が定義されています。次に、Example というクラスが定義されます。次に、array と呼ばれる整数配列が定義されます。次に、main メソッドが呼び出されます。次に、クラス Example のインスタンスが作成されます。次に、try and catch ブロックが定義されます。次に、Example クラスのインスタンスを使用して showop メソッドが呼び出されます。すると、例外をスローしたメソッドが表示されます。ここで nameof 演算子を使用するポイントは、コード名の項目のいずれかを変更した場合、コード内で使用されているすべての nameof 演算子を変更する必要があるということです。そうしないと、ビルドが失敗します。 nameof 演算子を使用している場合、コンパイラーはバグを指摘します。それ以外の場合、プログラムが運用環境で使用されるときにバグが見つかります。
nameof 演算子の使用法を示すプログラム。
コード:
using System; //a class called check is defined public class Check { //DateTime Function is used to find the current data and To LocalTime private static DateTime Today = DateTime.Now; //get and set functions are used public string Name { get; set; } //main method is called public static void Main(string[] args) { //a variable called local_Time is defined to obtain the current date and To LocalTime var local_Time = DateTime.Now.ToLocalTime(); //nameof operator is used to obtain the local_time, args, Systme information, main method, program name. Console.WriteLine(nameof(local_Time)); Console.WriteLine(nameof(args)); Console.WriteLine(nameof(System.IO)); Console.WriteLine(nameof(Main)); Console.WriteLine(nameof(Check)); Console.WriteLine(nameof(Check.Today)); Console.WriteLine(nameof(Check.Name)); } }
出力:
上記のプログラムでは、Checkというクラスが定義されています。次に、DateTime 関数を使用して現在の日付と LocalTime を検索します。次に、get 関数と set 関数が使用されます。次に、main メソッドが呼び出されます。次に、現在の日付と LocalTime を取得するために local_Time という変数が定義されます。次に、nameof 演算子を使用して、local_time、args、システム情報、main メソッド、プログラム名を取得します。ここで nameof 演算子を使用するポイントは、コード名の項目のいずれかを変更した場合、コード内で使用されているすべての nameof 演算子を変更する必要があり、そうしないとビルドが失敗するということです。 nameof 演算子を使用している場合、コンパイラーはバグを指摘します。それ以外の場合、プログラムが運用環境で使用されるときにバグが見つかります。
演算子の名前を示すプログラム。
コード:
using System; //a class called check is defined class Check { //a method called taste is defined static void Taste(int argu) { //nameof operator is used Console.WriteLine(nameof(argu)); Console.WriteLine(argu); //nameof operator is used on the defined variable var plane = "Shobha"; Console.WriteLine(nameof(plane)); } //main method is called static void Main() { //the method taste is called along with passing a parameter Taste(200); } }
出力:
上記のプログラムでは、checkというクラスが定義されています。次に、nameof 演算子が使用されるクラス内で、taste と呼ばれるメソッドが定義されます。次に、nameof 演算子が再度使用される変数が定義されます。次に main メソッドが呼び出され、そこからパラメータを渡して定義されたメソッド Taste が呼び出されます。ここで nameof 演算子を使用するポイントは、コード名の項目のいずれかを変更した場合、コード内で使用されているすべての nameof 演算子を変更する必要があり、そうしないとビルドが失敗するということです。 nameof 演算子を使用している場合、コンパイラーはバグを指摘します。それ以外の場合、プログラムが運用環境で使用されるときにバグが見つかります。
このチュートリアルでは、定義を通じて C# の nameof 演算子の概念、C# の nameof 演算子の構文、例を通して C# の nameof 演算子の動作、およびその出力を理解します。
以上がC# の名前の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。