是否可以打印列中的多个列表,并在同一行中打印匹配的条目?C#

是否可以打印列中的多个列表,并在同一行中打印匹配的条目?C#,c#,list,console-application,C#,List,Console Application,我正在编写一个简单的工资控制台应用程序。基本上我有四个列表,PayWedList,hoursList,NameList,payRateList;我让用户输入除PayWedList之外的所有值,PayWedList只是hoursList*payRateList的结果。我想知道的是,是否有可能将列表从左到右打印成四列 Employees; Hours Worked; Pay Rate; Pay Owed; 是的,这当然是可能的-制作一个定义每列宽度的格式行: var dat

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

Employees;     Hours Worked;     Pay Rate;     Pay Owed;

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

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);
}


有关格式字符串的信息,请参阅。

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

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);
}


有关格式字符串的信息,请参见。

不完全相关,但如果有一个存储名称、费率、小时数的
PayRollInfo
对象的单一列表,则会简单得多(然后可以生成工资)。从未尝试过,但似乎可以在控制台应用程序中打印表格:虽然这项练习在大约30年前相当有价值,但在终端和“绿色屏幕”仍然相关的时候,如今完善这项技能毫无价值。如果要格式化表格,请学习如何在windows窗体API或WPF表格中创建表格。除了学习一些相关的东西外,你还将构建一些看起来也像21世纪的程序:-)什么是熟悉WPF的好资源?不完全相关,但如果有一个存储名称、费率、小时数的
PayRollInfo
对象的单一列表,会简单得多(然后就可以生成工资了)。虽然从未尝试过,但似乎可以在控制台应用程序中打印表格:尽管在大约30年前,当终端和“绿色屏幕”出现时,这一练习会很有价值如果您想格式化一个表,请学习如何在windows窗体API或WPF表中创建一个表。除了学习一些相关的内容外,您还将构建一些看起来像21世纪的程序:-)什么是熟悉WPF的好资源?