c# 使用控制台将字符串拆分为列
c# Splitting a string into columns using console
我必须从文本文件中获取字符串并将它们保存到列表中。对于每一行,我应该写下在彼此完美排序的列中写下的结果。
我必须在控制台中写下文本文件中给出的每一行。
我有一个由多个字符串组成的字符串,代表 1 行:
string uitslag = vertrek.ToString() + van.ToString() + naar.ToString() + status.ToString() + vliegtuig.ToString();`
我的问题是:我怎样才能像这样对输出进行排序:
aaaaaa aaaaaa aa aaaaa aaaaa
aaaa aaa aaaa aa aa
a a a a a
aaaaaaa a aaaa aa aaaaaaaa`
注意:我已经尝试使用 \t
但有些行不会与其他行同步。
编辑:
`String.Format("{0}{1}{2}{3}{4}",
vertrek.ToString().PadRight(12, ' '),
van.ToString().PadRight(12, ' '),
naar.ToString().PadRight(12, ' '),
status.ToString().PadRight(12, ' '),
vliegtuig.ToString().PadRight(12, ' '));`
给出了以下结果:
result
您可以使用最大长度的 String.PadRight
作为每个字符串右侧的 space 填充:
String.PadRight(50, ' ');
你的情况:
string uitslag = String.Format("{0}{1}{2}{3}{4}",
vertrek.ToString().PadRight(50, ' '),
van.ToString().PadRight(50, ' '),
naar.ToString().PadRight(50, ' '),
status.ToString().PadRight(50, ' '),
vliegtuig.ToString().PadRight(50, ' '));
改变这个:
string uitslag = vertrek.ToString() + van.ToString() + naar.ToString() + status.ToString() + vliegtuig.ToString();
变成这样:
string uitslag = String.Format ("{0,-10}{1,-10}{2,-10}{3,-10}{4,-10}", vertrek.ToString(), van.ToString(), naar.ToString(), status.ToString(), vliegtuig.ToString());
大括号中的第一个数字表示列号,第二个数字表示该行中的最大字符数(负值左对齐,正值右对齐)。因此,您需要将该值(我以 10 为例)设置为最大列宽。
我必须从文本文件中获取字符串并将它们保存到列表中。对于每一行,我应该写下在彼此完美排序的列中写下的结果。
我必须在控制台中写下文本文件中给出的每一行。
我有一个由多个字符串组成的字符串,代表 1 行:
string uitslag = vertrek.ToString() + van.ToString() + naar.ToString() + status.ToString() + vliegtuig.ToString();`
我的问题是:我怎样才能像这样对输出进行排序:
aaaaaa aaaaaa aa aaaaa aaaaa
aaaa aaa aaaa aa aa
a a a a a
aaaaaaa a aaaa aa aaaaaaaa`
注意:我已经尝试使用 \t
但有些行不会与其他行同步。
编辑:
`String.Format("{0}{1}{2}{3}{4}",
vertrek.ToString().PadRight(12, ' '),
van.ToString().PadRight(12, ' '),
naar.ToString().PadRight(12, ' '),
status.ToString().PadRight(12, ' '),
vliegtuig.ToString().PadRight(12, ' '));`
给出了以下结果:
result
您可以使用最大长度的 String.PadRight
作为每个字符串右侧的 space 填充:
String.PadRight(50, ' ');
你的情况:
string uitslag = String.Format("{0}{1}{2}{3}{4}",
vertrek.ToString().PadRight(50, ' '),
van.ToString().PadRight(50, ' '),
naar.ToString().PadRight(50, ' '),
status.ToString().PadRight(50, ' '),
vliegtuig.ToString().PadRight(50, ' '));
改变这个:
string uitslag = vertrek.ToString() + van.ToString() + naar.ToString() + status.ToString() + vliegtuig.ToString();
变成这样:
string uitslag = String.Format ("{0,-10}{1,-10}{2,-10}{3,-10}{4,-10}", vertrek.ToString(), van.ToString(), naar.ToString(), status.ToString(), vliegtuig.ToString());
大括号中的第一个数字表示列号,第二个数字表示该行中的最大字符数(负值左对齐,正值右对齐)。因此,您需要将该值(我以 10 为例)设置为最大列宽。