在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更有意义( 这里是示例 )。