{0} có nghĩa là gì khi được tìm thấy trong một chuỗi trong C #?


85

Trong một từ điển như thế này:

Dictionary<string, string> openWith = new Dictionary<string, string>();

openWith.Add("txt", "notepad.exe");
openWith.Add("bmp", "paint.exe");
openWith.Add("dib", "paint.exe");
openWith.Add("rtf", "wordpad.exe");

Console.WriteLine("For key = \"rtf\", value = {0}.", openWith["rtf"]);

Đầu ra là:

Đối với Key = "rtf" value = wordpad.exe

Nghĩa {0}là gì?

Câu trả lời:


180

Bạn đang in một chuỗi được định dạng. {0} có nghĩa là chèn tham số đầu tiên sau chuỗi định dạng; trong trường hợp này là giá trị được liên kết với khóa "rtf".

Đối với String.Format, tương tự, nếu bạn có một cái gì đó như

//            Format string                    {0}           {1}
String.Format("This {0}.  The value is {1}.",  "is a test",  42 ) 

bạn sẽ tạo một chuỗi "Đây là một bài kiểm tra . Giá trị là 42 ".

Bạn cũng có thể sử dụng các biểu thức và in các giá trị ra nhiều lần:

//            Format string              {0} {1}  {2}
String.Format("Fib: {0}, {0}, {1}, {2}", 1,  1+1, 1+2) 

mang lại "Fib: 1 , 1 , 2 , 3 "

Xem thêm tại http://msdn.microsoft.com/en-us/library/txafckwd.aspx , nói về định dạng hỗn hợp.


25

Đó là một trình giữ chỗ trong chuỗi.

Ví dụ,

string b = "world.";

Console.WriteLine("Hello {0}", b);

sẽ tạo ra đầu ra này:

Hello world.

Ngoài ra, bạn có thể có bao nhiêu trình giữ chỗ tùy thích. Điều này cũng hoạt động trên String.Format:

string b = "world.";
string a = String.Format("Hello {0}", b);

Console.WriteLine(a);

Và bạn vẫn sẽ nhận được cùng một đầu ra.


11

Ngoài giá trị bạn muốn in {0} {1}, v.v., bạn có thể chỉ định một định dạng. Ví dụ, {0,4}sẽ là một giá trị được đệm vào bốn dấu cách.

Có một số công cụ định dạng được tạo sẵn và ngoài ra, bạn có thể tự tạo. Để có hướng dẫn / danh sách phù hợp, hãy xem Định dạng chuỗi trong C # . Ngoài ra, có một câu hỏi thường gặp ở đây .


6

Để tham khảo trong tương lai, trong Visual Studio, bạn có thể thử đặt con trỏ vào tên phương thức (ví dụ: WriteLine) và nhấn F1để nhận trợ giúp về ngữ cảnh đó. Sau đó, đào xung quanh sẽ tìm thấy bạn String.Format()trong trường hợp này, với rất nhiều thông tin hữu ích.

Lưu ý rằng việc đánh dấu một lựa chọn (ví dụ: nhấp đúp hoặc thực hiện thao tác kéo chọn) và nhấn F1chỉ thực hiện tìm kiếm chuỗi không theo ngữ cảnh (có xu hướng khó tìm thấy bất kỳ điều gì hữu ích), vì vậy hãy đảm bảo bạn chỉ định vị con trỏ ở bất kỳ đâu bên trong từ mà không làm nổi bật nó.

Điều này cũng hữu ích cho tài liệu về các lớp và các loại khác.


5

Đó là trình giữ chỗ cho tham số đầu tiên, trong trường hợp của bạn sẽ đánh giá là "wordpad.exe".

Nếu bạn có một tham số bổ sung, bạn sẽ sử dụng {1}, v.v.


4

Nó là một trình giữ chỗ cho một tham số giống như trình %sđịnh dạng hoạt động bên trong printf.

Bạn có thể bắt đầu thêm những thứ bổ sung vào đó để xác định định dạng, mặc dù điều đó có ý nghĩa hơn với một biến số ( ví dụ ở đây ).


0

Đây là những gì chúng tôi gọi là Định dạng tổng hợp của .NET Framework để chuyển đổi giá trị của một đối tượng thành biểu diễn văn bản của nó và nhúng biểu diễn đó vào một chuỗi. Chuỗi kết quả được ghi vào luồng đầu ra.

Phương thức Console.WriteLine được nạp chồng (Chuỗi, Đối tượng) Viết biểu diễn văn bản của đối tượng được chỉ định, theo sau là dấu chấm cuối dòng hiện tại, vào luồng đầu ra tiêu chuẩn bằng cách sử dụng thông tin định dạng được chỉ định.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.