为什么C#插值字符串不接受变量填充?

N4v

C#插值字符串允许您向字符串添加左或右填充。根据您输出的内容,您可能需要调整填充水平。为什么C#在使用变量表示填充时存在问题?(请参见下面的示例。)

public static void example(string name, ApplicationCall NxRequest)
{
    // Both 'headers' and 'values' are string arrays.
    var headers = NxRequest.Headers();
    var values = NxRequest.Values();

    // I want to set the level of padding based on the maximum length 
    // in the 'headers' string array.
    var padding = headers.Select(x => x.Length).Max();
    const int constPadding = headers.Select(x => x.Length).Max();

    for (int i = 0; i < headers.Length; i++)
    {
        // This works.
        Console.WriteLine($"{headers[i].ToUpper().PadRight(padding)} {values[i]}");

        // This doesn't work because constPadding cannot be set as a constant.
        Console.WriteLine($"{headers[i].ToUpper(), constPadding} {values[i]}");
    }
}

编辑:我介绍了一个更好的例子。

迈克尔·G

您需要使pad为常数:

foreach (var item in new string[] { "cat", "dog", "mouse" })
{
    const int pad = -12;
    Console.WriteLine($"{item, pad}");
}

如果不能使用常量,则必须使用字符串填充函数,例如PadLeft或PadRight。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我的字符串不接受空值?

来自变量C#的插值字符串

如果期望,为什么不接受字符串类型?

字符串变量不接受“?” 标志

为什么某些C字符串库函数(即strtok)不接受尚未使用malloc分配的char *?

Postgresql不接受UTF字符串中的\ 0,而C#接受

为什么Visual Studio为C#6插值字符串创建双括号?

C#插值字符串中的可选参数是什么?

C#字符串插值如何编译?

C#中的转义插值字符串

变量上的字符串插值

字符串变量插值Java

变量中的字符串插值

为什么t.Fail()不接受字符串参数?

为什么applescript 不接受本地化字符串命令中的文件对象?

为什么lda()不接受字符串作为“公式”参数?

为什么下面的代码不接受字符串输入?

为什么ListBox.DisplayMember接受字符串值?

Python子字符串方括号不接受变量

Angular 不接受字符串变量作为对象键

Shell.namespace不接受字符串变量,但接受字符串本身

了解为什么此导入变量的字符串插值在我的Angular 2 App中起作用

C++ 字符串变量不接受输入和制表符空格?

Visual C ++中的chdir(variable)将不接受字符串变量

为什么Objective-C中的字符串指针接受并返回字符串的值而不是内存地址?

.Rows()将不接受字符串值

字符串类型不接受集合作为值

为什么在web api C#的post方法中将字符串变量的值传递为null

C ++系统函数不接受字符串?