Что означает {0} при нахождении в строке в C#?
в таком словаре:
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"]);
выход:
For Key = " rtf " value = wordpad.exe
Что значит {0}
в смысле?
7 ответов:
вы печатаете форматированную строку. {0} означает вставить первый параметр после строки формата; в этом случае значение, связанное с ключом "rtf".
Для Строки.Формат, который похож, если у вас было что-то вроде
// Format string {0} {1} String.Format("This {0}. The value is {1}.", "is a test", 42 )
вы бы создали строку " This тест. Значение 42".
вы также можете использовать выражения и выводить значения несколько раз:
// Format string {0} {1} {2} String.Format("Fib: {0}, {0}, {1}, {2}", 1, 1+1, 1+2)
уступая " Fib: 1,1,2,3"
Смотрите больше на http://msdn.microsoft.com/en-us/library/txafckwd.aspx, который говорит о составном форматировании.
это заполнитель в строке.
например,
string b = "world."; Console.WriteLine("Hello {0}", b);
будет производить этот выход:
Hello world.
кроме того, вы можете иметь столько заполнители, как вы хотите. Это также работает на
String.Format
:string b = "world."; string a = String.Format("Hello {0}", b); Console.WriteLine(a);
и вы все равно получите тот же самый выход.
в дополнение к значению, которое вы хотите напечатать,
{0} {1}
и т. д. можно указать формат. Например,{0,4}
будет значение, которое дополняется до четырех пространств.есть ряд встроенных спецификаторы формата, и кроме того, вы можете сделать свой собственный. Для достойного учебника / списка см. форматирование строк в C#. Кроме того, есть FAQ здесь.
для дальнейшего использования в Visual Studio вы можете попробовать поместить курсор в имя метода (например, WriteLine) и нажать F1 чтобы вытащить помощь в этом контексте. Копание вокруг должно затем найти вас
String.Format()
в этом случае, с большим количеством полезной информации.обратите внимание, что выделение выделения (например, двойной щелчок или перетаскивание) и нажатие F1 только поиск строки без контекста (который имеет тенденцию сосать при поиске чего-либо полезно), поэтому убедитесь, что вы просто поместите курсор в любом месте внутри слова, не подчеркивая его.
Это также полезно для документации по классам и другим типам.
это заполнитель для первого параметра, который в вашем случае оценивается как "wordpad.исполняемый."
Если бы у вас был дополнительный параметр, вы бы использовали
{1}
и т. д.
это заполнитель для параметра, похожего на
%s
спецификатор формата действует в пределахprintf
.Вы можете начать добавлять дополнительные вещи в там, чтобы определить формат, хотя это имеет больше смысла с числовой переменной (вот примеры:).
Это то, что мы называем Составное Форматирование платформы .NET Framework для преобразования значения объекта в его текстовое представление и внедрения этого представления в строку. Полученная строка записывается в выходной поток.
перегруженный