thể trùng lặp:
when to use @ in c# ?những gì hiện "@" có nghĩa là trong C#
F.e. string sqlSelect = @"SELECT * FROM Sales".
thể trùng lặp:
when to use @ in c# ?những gì hiện "@" có nghĩa là trong C#
F.e. string sqlSelect = @"SELECT * FROM Sales".
Điều này có nghĩa là diễn giải chuỗi sau dưới dạng chữ. Có nghĩa là, \
trong chuỗi sẽ thực sự là một "\"
ở đầu ra, thay vì phải đặt "\\"
để có nghĩa là ký tự chữ số
Có dấu gạch chéo của bạn trộn lẫn lên. Nếu không, tôi thích câu trả lời của bạn tốt nhất. –
@ Spencer Ruport: không thể có được điều đó, làm thế nào hỗn hợp? – Sarfraz
hoàn toàn. Nên được dấu gạch chéo ngược, không phải là một dấu gạch chéo đơn giản –
Nó cho phép bạn có một chuỗi có dấu \ delimiter trong đó.
@ "C: \ A \ b \ c \ d \ e \ f" là hợp pháp.
Điều đó có nghĩa là không cần phải thoát khỏi các ký tự trong chuỗi như vậy.
Vì vậy, nếu bạn muốn viết một con đường cho c: \ Windows, bạn có thể viết nó như
string path="c:\\Windows";
// Note thoát '\'
HOẶC
string [email protected]"c:\Windows";
// '\' không cần phải thoát ra
Được sử dụng cho chuỗi chữ. Nó đánh dấu chuỗi trong quote (") dấu ngoặc là giá trị mà không áp dụng bất kỳ giải thích cho biểu tượng trong chuỗi
xâu Verbatim bắt đầu với @ và cũng được kèm theo trong đôi dấu ngoặc kép Ví dụ..:
@"good morning" // a string literal
nicked từ, có một cái nhìn tại một vài dòng cuối cùng trên ví dụ để biết thêm thông tin. http://msdn.microsoft.com/en-us/library/362314fe.aspx
cũng https://msdn.microsoft.com/en-us/library/ms228362.aspx#Anchor_3 – Lu55
Có hai loại chuỗi ký tự, thường xuyên và nguyên văn. Biểu tượng @ làm cho nó trở thành một chuỗi chữ đúng nguyên văn.
Trước chuỗi nó cho phép các quy tắc tạo chuỗi khác nhau. Bạn không thể sử dụng dấu gạch chéo ngược để chỉ định ký hiệu đặc biệt và "" (dấu ngoặc kép trở thành dấu ngoặc kép). Tôi tìm thấy định dạng này rất hữu ích cho biểu thức thông thường
Ví dụ
Console.WriteLine(@"\n""\/a"); // outputs \n"\/a
Console.WriteLine("\\n\"\"\\/a"); // outputs \n"\/a
Bạn cũng có thể nhìn thấy biểu tượng @ trước khi biến. Trong trường hợp này, nó cho phép sử dụng các từ khóa C# đặc biệt làm biến.
Ví dụ:
var @switch = 1;
var @if = "test";
Trong C và C++, chuỗi có một số ký tự đặc biệt được gọi là "thoát khỏi nhân vật". ví dụ: "\", "&" và " nó là một nhân vật thoát!
Trong cách rất bình thường bạn in một tuyên bố như
Nancy Said Hello World! & mỉm cười
bạn phải thiết lập chuỗi của bạn như sau
string str = "Nancy said Hello World! \& smiled.";
Nhưng mọi người trong Microsoft đã thực hiện một tính năng mới tuyệt vời trong biên dịch C#, do đó bạn có thể thoát khỏi đau đầu xử lý các ký tự thoát bằng cách thêm @ trước khi bất kỳ chuỗi, và trình biên dịch sẽ xử lý tất cả các ký tự thoát cho bạn một mình. Đối với ví dụ cuối cùng bạn có thể có điều này trong C# như sau:
string str = @"Nancy said Hello World! & smiled.";
Đồng ý với phân định, nhưng tôi không tin & là một ký tự yêu cầu phân định trong C# – MPritchard
Duplicate - http://stackoverflow.com/questions/1057926/when-to-use-in-c – ChrisF
Thực tế thú vị: bạn cũng có thể sử dụng tiền tố chữ để phân biệt số nhận dạng với từ khóa. 'Int32 new;' không hợp lệ, nhưng 'Int32 @new;' thì không. – HackedByChinese