Trui rèn các kĩ năng string của bạn trong C#

Trui rèn các kĩ năng string của bạn trong C#

Hãy chuyển chú ý của chúng ta tới một vài đặc tính của các strings để làm chúng mạnh mẽ hơn.

Các chuỗi escape

Sau đây là thử thách hay: làm sao bạn hiển thị một dấu ” “? Cái này không làm việc:

Console.WriteLine(“””); // ERROR: Bad quotation marks!

Trình dịch thấy double quote đầu tiên như phần khởi đầu của một string và cái thứ hai như là kết thúc. Cái thứ ba
bắt đầu một string khác cái không bao giờ kết thúc, và chúng ta nhận các lỗi trình dịch.
Một escape sequence là một chuỗi các kí tự cái không có nghĩa chúng thường chỉ cái gì. Trong C#, bạn bắt đầu các
escape sequences với kí tự backslash (\), nằm ở trên nút enter trên hầu hết bàn phím. Một backslash đi theo bởi một
double quote (\”) hướng dẫn trình dịch biên dịch kí tự như một kí tự quote literal bên trong string thay vì biên dịch
nó như phần cuối của string:

Console.WriteLine(“\””);

Trình dịch thấy quote mark đầu tiên như phần bắt đầu của string, cái giữa \” như một kí tự quote bên trong text, và cái
thứ ba như kết thúc của string.
Một quotation mark không phải là kí tự duy nhất bạn có thể escape. Sau đây là một vài cái hữu dụng khác: \t là kí tự
tab, \n là kí tự một dòng mới (di chuyển xuống dòng tiếp theo), và \r là một carriage return (quay trở lại phần bắt
đầu của dòng). Trong console window, đi xuống một dòng với \n cũng quay trở lại phần bắt đầu của dòng.
Nên cái gì xảy ra nếu chúng ta muốn có một kí tự \ literal trong một string? Cũng có một escape sequence cho kí tự escape.
:\\. Cái này cho phép bạn bao gồm các backslashes (\) trong các strings của bạn:

Console.WriteLine(“C:\\Users\\RB\\Desktop\\MyFile.txt”);

Code đó hiển thị cái sau:

C:\Users\RB\Desktop\MyFile.txt

Trong một vài ví dụ, bạn không quan tâm làm escape sequence, và các slashes thêm để escape mọi thứ chính ở cách thức
của bạn. Bạn có thể đặt kí hiệu @ trước text (gọi là một verbatim string literal) để hướng dẫn trình dịch đối xử mọi
thứ chính xác như nó trông:

Console.WriteLine(@”C:\Users\RB\Desktop\MyFile.txt”);

Chia sẻ