您可以在列中打印多个列表,并在同一行上匹配条目吗? C#

时间:2018-04-19 01:26:21

标签: c# list console-application

我正在编写一个简单的工资单控制台应用程序。基本上我有四个列表,payOwedList,hoursList,namesList,payRateList;我让用户输入除payOwedList之外的所有值,这只是hoursList * payRateList的结果。我想知道的是,是否可以从左到右打印四列中的列表。

Employees;     Hours Worked;     Pay Rate;     Pay Owed;

1 个答案:

答案 0 :(得分:2)

是的,当然可以 - 制作一个定义每列宽度的格式行:

var data = new[] {
    new { Name="Hello", Hours=40, Rate=12M, Owed = 0M }
,   new { Name="World", Hours=30, Rate=20M, Owed = 100M }
,   new { Name="Fiz Buz, Jr.", Hours=44, Rate=8M, Owed = 80M }
};
foreach (var e in data) {
    Console.WriteLine("{0,-20}\t{1,4:####}\t{2,7:c}\t{3,10:c}", e.Name, e.Hours, e.Rate, e.Owed);
}

Demo.

有关格式字符串的信息,请参阅this Q&A