C# 如何将for循环中的引用添加到WriteLine函数中的字符串格式?
在我开始问这个问题之前,我已经到处看了(夸张),但什么也没想到,我认为这个问题可能会让人困惑,但我正在尝试将变量C# 如何将for循环中的引用添加到WriteLine函数中的字符串格式?,c#,C#,在我开始问这个问题之前,我已经到处看了(夸张),但什么也没想到,我认为这个问题可能会让人困惑,但我正在尝试将变量I传递给WriteLine(…)方法字符串中的参数,下面是一个示例 Expression<Func<int, int, int>> expression = (a, b) => a + b; for(int i = 0; i < expression.Parameters.Count; i++) {
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]);
}
以这种方式使用它:
Console.WriteLine("Expression param[{0}]: {1}", i, expression.Parameters[i]);
{0}
引用格式(i
)后面的第一个参数
{1}
引用格式(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]}");
字符串插值使您可以更轻松地格式化字符串。Format和它的近亲是非常通用的,但是它们的使用有点笨拙并且容易出错。特别令人遗憾的是,在格式字符串中使用了{0}等带编号的占位符,这些占位符必须与单独提供的参数对齐
参考:
谢谢,我今天学到了一些新东西,C#6的字符串插值!
Console.WriteLine($"Expression param[{i+1}]: {expression.Parameters[i]}");