如何将 for 循环中的引用添加到 WriteLine 函数中的字符串格式
本文关键字:WriteLine 函数 字符串 格式 添加 引用 for 循环 | 更新日期: 2023-09-27 18:35:54
在我开始提问之前,我已经到处看了(夸张),但一无所获,我认为这个问题可能令人困惑,但我正在尝试将变量i
传递给WriteLine(..)
方法字符串中的参数,这是一个示例;
Expression<Func<int, int, int>> expression = (a, b) => a + b;
for(int i = 0; i < expression.Parameters.Count; i++)
{
Console.WriteLine("Expression param[{i+1}]: {i}", expression.Parameters[i]);
}
这在 c# 中有效吗? 将int i
添加到 Console.WriteLine(..)
方法中。
我也尝试过:
Console.WriteLine("Expression param[{" + i+1 +"}]: {"+ i +"}", expression.Parameters[i]);
它的工作
Console.WriteLine("Expression param[{0}]: {1}", i+1, expression.Parameters[i]);
但是,如果您使用的是 C# 6,则字符串插值更好:
Console.WriteLine($"Expression param[{i+1}]: {expression.Parameters[i]}");
字符串内插使您可以更轻松地设置字符串的格式。String.Format 及其表亲非常通用,但它们的使用有些笨拙且容易出错。特别不幸的是在格式字符串中使用编号占位符(如 {0}),它必须与单独提供的参数对齐。
参考: https://blogs.msdn.microsoft.com/csharpfaq/2014/11/20/new-features-in-c-6/
以这种方式使用它:
Console.WriteLine("Expression param[{0}]: {1}", i, expression.Parameters[i]);
{0}
是指格式 (i
) 后的第一个参数。
{1}
是指格式 (expression.Parameters[i]
) 之后的第二个参数。
等等。