字符串插值中需要一个常量值

A constant value is expected in string interpolation

我的代码如下

static string Foo(string str, int width)
{
    return $"{str,width}";
}

编译器不允许我使用 width 变量。我怎样才能把它传递给一个方法?

在这种情况下,使用 string.Format 可能比插值更好。

var str = "test";
var width = 10;
var fmt = $"{{0,{width}}}";
var result = string.Format(fmt, str);

但是如果你只是用空格填充 PadLeftPadRight 会更干净...

return str.PadLeft(width, ' ');