C# {}表达式的意义
我不熟悉C#编程。我正在读一本c#书,在解释代码时遇到了困难。具体来说,{0}和下面的my_double是如何工作的C# {}表达式的意义,c#,C#,我不熟悉C#编程。我正在读一本c#书,在解释代码时遇到了困难。具体来说,{0}和下面的my_double是如何工作的 my_double = 3.14; my_decimal = 3.14; Console.WriteLine("\nMy Double: {0}", my_double); 我在书中多次看到这种格式,但没有解释。我知道它正在将此信息写入控制台窗口,但我的问题是: 这是什么意思 为什么它的花括号中有{0}这个数字可以用其他数字代替,比如{100} 如何在最后一行代码中使用多个变量
my_double = 3.14;
my_decimal = 3.14;
Console.WriteLine("\nMy Double: {0}", my_double);
我在书中多次看到这种格式,但没有解释。我知道它正在将此信息写入控制台窗口,但我的问题是:
这就像方法最后一个参数的索引器。因此,它意味着获取第0个元素,即
my\u double
。它的存在使得您可以创建一个简单的字符串,而无需编写“blah”+变量+“blah”+变量2…
如果您想打印更多项目,只需在末尾添加更多项目,并通过最终列表中的索引引用它们。即:
Console.WriteLine("{0}{1}{2}", var0, var1, var2);
您正在调用使用格式说明符和参数的
Console.WriteLine
重载。这意味着您指定了一个要替换为{x}
语法的令牌。这是一个索引为0的列表,因此如果您添加了第二个属性,您将拥有WriteLine(“{0},{1}”,value1,value2)
。可在此处找到该版本的WriteLine
上的文档 其工作原理类似于。您可以通过以下方式实现您的目标:
my_double = 3.14;
my_decimal = 3.14;
Console.WriteLine(“\nMy Double: {0}\nMy Decimal: {1}”, my_double, my_decimal);
1) 这意味着{0}将替换为字符串后的第一个(零索引)参数。它类似于string.Format(…)
所使用的语法
2) 用{100}替换它意味着第101个参数将被放置在那里。这不是一个实际的用例
3) 您可以使用多个变量,方法是(按顺序)在花括号中添加其他数字和其他参数。像这样:
int param1 = 1;
string param2 = "hello";
double param3 = 2.5;
Console.WriteLine("This is parameter 1: {0}. This is parameter 2: {1}. This is parameter 3: {2}", param1, param2, param3);
文件:
- Console.WriteLine:
- 字符串。格式:
字符串工作。格式
方法:
任何出现的{sequentialInteger}
都将替换为相应参数的字符串(或字符串转换)
关于你的具体问题:
my_double = 3.14;
my_decimal = 3.14;
Console.WriteLine(“\nMy Double: {0} here your decimal: {1}”, my_double, my_decimal );
//output: My Double: 3.14 here your decimal: 3.14
Console.WriteLine(“\nMy Double: {2} here your decimal: {0}”, "foo", my_decimal, DateTime.Now.ToShortDate() );
//output: My Double: 12/10/2013 here your decimal: foo
请参阅Concole.WriteLine(或String.Format)的文档。{0}表示将由函数中的下一个参数替换的标记。。。。所以
Console.WriteLine("One {0}, Two {1}, Three {2}, One {0}", 1, 2, 3);
将产生:
One 1, Two 2, Three 3, One 1
可以使用{0:n}或其他格式选项以特定字符串格式呈现值
好的,谢谢。这正是我熟悉的语法。我来自java背景:)