C# 如何读取txt文件并在控制台应用程序中将其显示为表?

C# 如何读取txt文件并在控制台应用程序中将其显示为表?,c#,C#,我很抱歉,如果我的提问措辞错误,造成混乱。但这是我想做的。我想让程序读取txt文件,然后像表格一样排列数据 txt文件可以如下所示: fullname1|ID1|age1|mark1 fullname2|ID2|age2|mark2 fullname3|ID3|age3|mark3 我已经找到了几种方法,但没有一种对我有效,我正在自学C#但是我的英语有限,所以我很难找到更深层的解决办法。因为我很无聊 给定的 fullname1|ID1|age1|mark1546 sdfdsf|ID2|age5

我很抱歉,如果我的提问措辞错误,造成混乱。但这是我想做的。我想让程序读取txt文件,然后像表格一样排列数据

txt文件可以如下所示:

fullname1|ID1|age1|mark1
fullname2|ID2|age2|mark2
fullname3|ID3|age3|mark3
我已经找到了几种方法,但没有一种对我有效,我正在自学C#但是我的英语有限,所以我很难找到更深层的解决办法。

因为我很无聊

给定的

fullname1|ID1|age1|mark1546
sdfdsf|ID2|age56|mark2
gfhxcxvxcvxc|ID3|age3|mark3
代码

// read lines
var lines = File.ReadAllLines(@"D:\Data.txt")
                .Select(x => x.Split('|'))
                .ToArray();

// calculate column widths
var widths = Enumerable.Range(0, lines[0].Length)
                       .Select(x => lines.Max(y => y[x].Length))
                       .ToArray();

// Write the lines with padding each column with its max width
foreach (var line in lines)
   Console.WriteLine(string.Join(", ", line.Select((x,i) => x.PadRight(widths[i], ' '))));
输出

fullname1   , ID1, age1 , mark1546
sdfdsf      , ID2, age56, mark2
gfhxcxvxcvxc, ID3, age3 , mark3

免责声明:显然这是一种假设,因此我不对您使用此代码可能伤害的人负责

看起来您实际上拥有一个CSV文件,其中管道(
|
)作为分隔符,而不是逗号(
)。您可能会使用CsvHelper.Io之类的库来读取该文件。您预期的输出是什么?到目前为止您尝试了什么?您的输入看起来已经是表格形式了。您想要的实际输出是什么?这是一个综合问题。你需要把问题分解成更小的部分。1) 读取文件。2) 显示数据。我希望输出像一个带有@prasadelkikikar列的表