在C#中的string中find{0}是什么意思?
在这样的字典中:
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"]);
输出是:
对于Key =“rtf”value = wordpad.exe
{0}
是什么意思?
您正在打印格式化的string。 {0}表示在格式string后面插入第一个参数; 在这种情况下,与关键字“rtf”相关联的值。
对于类似的String.Format,如果你有类似的东西
// Format string {0} {1} String.Format("This {0}. The value is {1}.", "is a test", 42 )
你会创build一个string“这是一个testing ,值是42 ”。
您也可以使用expression式,并多次输出值:
// 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中的占位符。
例如,
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#中的string格式 。 另外,这里有一个FAQ。
为了将来参考,在Visual Studio中,您可以尝试将光标放在方法名称(例如,WriteLine)中,然后按F1在该上下文中提取帮助。 在这种情况下,挖掘应该find你String.Format()
,有很多有用的信息。
请注意,突出显示一个select(例如,双击或者做一个拖拽select)并且仅击中F1会做一个非上下文stringsearch(这往往会导致发现任何有用的东西),所以确保你把光标放在任何地方在单词内部没有突出显示它。
这对于类和其他types的文档也是有帮助的。
这是第一个参数的占位符,在你的情况下,它的计算结果为“wordpad.exe”。
如果您有其他参数,则可以使用{1}
等
它是一个参数的占位符,与printf
的%s
格式说明符一样。
您可以开始在其中添加额外的东西来确定格式,虽然这对于数字variables更有意义( 这里是示例 )。