C# 中變數名前的@符號
本文解釋了 C# 中變數名前的 @
符號的含義。
C#
中的@
符號是什麼
對於一些 C# 開發人員來說,@
符號可能有些麻煩。很少有程式設計師已經程式設計了很長時間,但仍然對@
的作用有誤解。
在與其他程式語言互動時,符號@
允許將關鍵字用作識別符號。因為@
字元並不是真正的識別符號的一部分,所以它可能被解釋為其他語言的常規識別符號。
逐字識別符號是帶有@
術語的識別符號。 @
術語可用於非關鍵字識別符號,但風格強烈不鼓勵使用。
C#
中@
符號的意義
你可以通過使用@
符號來使用保留字。考慮以下場景。
int @class = 29;
下面的一個不適用於保留字的使用。
int class = 29;
如果要在字串中插入反斜槓,則必須首先通過在其前面插入另一個反斜槓來對其進行轉義。以下程式碼將字串 "C:\\Program Files\\wmplayer.exe"
儲存在字串變數 filepath
中。
string filepath = "C:\\Program Files\\wmplayer.exe";
如果你必須輸入大量帶有反斜槓的字串,這可能會令人沮喪。為了使事情更簡單,你可以在字串前面使用@
符號來生成忽略反斜槓作為轉義字元的逐字字串文字。
如果這樣做,你將無法在字串中插入特殊字元,例如換行符或製表符。下面的程式碼與前面的程式碼相同,只是它使用了字串文字。
string filepath = @"C:\Program Files\wmplayer.exe";
這僅適用於你的程式碼,而不適用於使用者在 TextBox
或 ComboBox
中鍵入的任何內容。由於沒有轉義,也沒有與字元相關的特殊意義,使用者輸入的所有內容都成為控制元件的 Text
屬性的一部分。
因為使用者無法輸入特殊字元,所以你不必擔心在使用者鍵入的任何內容中對轉義字元的處理方式不同。換句話說,使用者不能鍵入\t
來輸入製表符。
C#
中使用 @
符號的示例
-
它確實意味著它允許你使用保留條款。
char @int = 'z';
而下面的一個將無法工作。
char int = 'z';
-
我們還看另外一個場景;
@
符號也用於定義帶有轉義字元的字串。string str = @"C:\Users\Shani\Downloads\Book1.xlsx";
上面的程式碼是下面程式碼的替代方案。
string str = "C:\\Users\\Shani\\Downloads\\Book1.xlsx";
-
下面的程式碼在程式啟動時顯示了大量的字串文字和其他字串問題。
private void AtsymbolForm_Load(object sender, EventArgs e) { txtdblSlash.Text = "C:\\Users\\Shani\\Downloads\\Book1.xlsx"; Console.WriteLine(txtdblSlash.Text); Console.WriteLine(@txtdblSlash.Text); }
這裡新增一個
@
並不影響TextBox
的內容。
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn