C# 使用字符串插值将字符串格式化为列

C# 使用字符串插值将字符串格式化为列,c#,string,format,double,c#-6.0,C#,String,Format,Double,C# 6.0,我需要打印双精度,以便为值的字符串表示分配一定数量的符号(如8)。下一个单词应该从每个字符串的字符串开头的相同索引开始。现在我有: value: 0 test value: 0.3333333333333 test value: 0.5 test 我需要: value: 0 test value: 0.33333333 test value: 0.5 test 测试代码: double[] ar = new double[] { 0, (double)1

我需要打印双精度,以便为值的字符串表示分配一定数量的符号(如8)。下一个单词应该从每个字符串的字符串开头的相同索引开始。现在我有:

value: 0 test
value: 0.3333333333333 test
value: 0.5 test
我需要:

value: 0           test
value: 0.33333333  test
value: 0.5         test
测试代码:

double[] ar = new double[] { 0, (double)1 / 3, (double)1 / 2 };
string s = "test";

foreach (var d in ar)
{
    Console.WriteLine($"value: {d} {s}");
}
我应该在
{d:
之后添加什么?

您可以用于此目的。如下所示:

Console.WriteLine($"value: {d,-17} {s}");
可选对齐组件是一个带符号的整数,指示首选的格式化字段宽度。如果对齐值小于格式化字符串的长度,则忽略对齐,并将格式化字符串的长度用作字段宽度。如果对齐为正,则字段中的格式化数据将右对齐-如果对齐为负数,则对齐。如果需要填充,则使用空白。如果指定对齐,则需要逗号

这就是为什么我们使用负对齐,因为您希望第一列左对齐