C # 'da bir dizede bulunduğunda {0} ne anlama geliyor?


85

Bunun gibi bir sözlükte:

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"]);

Çıktı:

Key = "rtf" value = wordpad.exe için

Ne anlama {0}geliyor?

Yanıtlar:


181

Biçimlendirilmiş bir dize yazdırıyorsunuz. {0}, biçim dizesini izleyen ilk parametreyi eklemek anlamına gelir; bu durumda "rtf" anahtarıyla ilişkili değer.

String.Format için, benzer bir şey varsa,

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

"Bu bir testtir . Değer 42 " şeklinde bir dize oluşturursunuz .

Ayrıca ifadeleri kullanabilir ve değerleri birden çok kez yazdırabilirsiniz:

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

"Fib: 1 , 1 , 2 , 3 " verir

Bileşik biçimlendirmeden bahseden http://msdn.microsoft.com/en-us/library/txafckwd.aspx adresinde daha fazlasını görün .


25

Bu, dizedeki bir yer tutucudur.

Örneğin,

string b = "world.";

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

bu çıktıyı üretir:

Hello world.

Ayrıca, istediğiniz kadar yer tutucuya sahip olabilirsiniz. Bu aynı zamanda şunlarda da çalışır String.Format:

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

Console.WriteLine(a);

Ve yine aynı çıktıyı alırsınız.


11

Yazdırmak istediğiniz değere {0} {1}, vb. Ek olarak bir format da belirleyebilirsiniz. Örneğin, {0,4}dört boşlukla doldurulmuş bir değer olacaktır.

Çok sayıda yerleşik biçim belirleyici vardır ve bunlara ek olarak kendinizinkini yapabilirsiniz. İyi bir eğitim / liste için C # 'da Dize Biçimlendirmesine bakın . Ayrıca burada bir SSS var .


6

Gelecekte başvurmak için, Visual Studio'da imleci yöntem adına yerleştirmeyi deneyebilir (örneğin, WriteLine) ve F1bu bağlamda yardım almak için tuşuna basabilirsiniz . Etrafı araştırmak, sizi String.Format()bu durumda birçok yararlı bilgiyle bulacaktır .

Bir seçimi vurgulamanın (örneğin, çift tıklama veya sürükle-seçim yapma) ve tuşuna basmanın F1yalnızca bağlam dışı bir dize araması yaptığını (bu, yararlı herhangi bir şey bulmakta emilir), bu nedenle imleci içinde herhangi bir yere konumlandırdığınızdan emin olun. kelimeyi vurgulamadan.

Bu aynı zamanda sınıflar ve diğer türlerle ilgili belgeler için de yararlıdır.


5

Bu, sizin durumunuzda "wordpad.exe" olarak değerlendirilen ilk parametre için bir yer tutucudur.

Ek bir parametreniz varsa, kullanırsınız {1}vb.


4

%sBiçim belirtecinin içinde hareket ettiği gibi bir parametre için yer tutucudur printf.

Formatı belirlemek için oraya fazladan şeyler eklemeye başlayabilirsiniz, ancak bu bir sayısal değişkenle daha mantıklıdır ( burada örnekler ).


0

Bu, bir nesnenin değerini metin gösterimine dönüştürmek ve bu gösterimi bir dizeye yerleştirmek için .NET Framework'ün Bileşik Biçimlendirmesi adını verdiğimiz şeydir . Elde edilen dizge çıktı akışına yazılır.

Aşırı yüklenmiş Console.WriteLine Yöntemi (Dize, Nesne) Belirtilen biçim bilgilerini kullanarak belirtilen nesnenin metin gösterimini, ardından geçerli satır Sonlandırıcıyı standart çıktı akışına yazar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.