在这样的字典中:
DictionaryopenWith = new Dictionary (); 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}
意思?
您正在打印格式化的字符串.{0}表示在格式字符串后插入第一个参数; 在这种情况下,与键"rtf"相关联的值.
对于String.Format,类似的,如果你有类似的东西
// Format string {0} {1} String.Format("This {0}. The value is {1}.", "is a test", 42 )
你要创建一个字符串"这是一个测试.值是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#中的字符串格式.此外,还有一个常见问题在这里.
为了将来参考,在Visual Studio中,您可以尝试将光标放在方法名称中(例如,WriteLine),然后按下F1以获取该上下文的帮助.String.Format()
在这种情况下,挖掘应该找到你,有很多有用的信息.
请注意,突出显示一个选择(例如,双击或执行拖动选择)并且F1仅执行非上下文字符串搜索(在查找任何有用的内容时往往会很糟糕),因此请确保将光标放在任何位置这个词没有突出显示它.
这对于类和其他类型的文档也很有帮助.
它是第一个参数的占位符,在您的情况下,它评估为"wordpad.exe".
如果你有一个额外的参数,你可以使用{1}
等.