為了避免程式碼中出現硬編碼字串,我們在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 和 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 函數尋找目前日期和本地時間。然後使用get和set函數。然後呼叫main方法。然後定義一個名為local_Time的變數來取得目前日期和LocalTime。然後使用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中文網其他相關文章!