值之间具有均匀间距的类似行的字符串
Row-like string with even spacing in between values
我正在尝试向列表框添加多行和不同的部分,并且需要使用“\t”来创建布局。
listBox.Items.Add(emp[index].first + "\t\t" + emp[index].last + "\t\t" + emp[index].number + "\t\t" + emp[index].department + "\t\t" + "Annual Salary: " + (emp[index].annualSalary).ToString("c") + ", Annual Bonus: " + (emp[index].annualBonus).ToString("c"));
只是一个示例行。
结果看起来像:(没有点)
Mary.......Sue................778-435-2321.....Accounting.....Annual Salary: ,000.00
Trevor....Joseph...........604-894-2902.....Marketing.......Annual Salary: ,000.00
Steve......Collin.............778-234-5432.....Finance..........Annual Salary: ,500.00
George...........Watson..........604-910-2349.....Technical.......Annual Salary: ,000.00
Sally.......Henderson.....604-654-2325.....Sales..............Annual Salary: ,000.00
Jenny.....Motgomery.....604-692-4932.....Data Ana.......Annual Salary: ,000.00
任何人都可以解释为什么它显示不正常,我该如何解决这个问题?
我在网上搜索过,但找不到任何使用 \t 进行布局的结果。
首先,我强烈建议使用模式而不是使用加号连接字符串。这将帮助您看得更清楚:
string pattern = string.Format("{0}\t\t{1}\t\t{2}\t\t{3}\t\tAnnualSalary: {4}, Annual Bonus: {5}",
emp[index].first,
emp[index].last,
emp[index].number,
emp[index].department,
emp[index].annualSalary).ToString("c"),
emp[index].annualBonus);
您的问题的答案是,您使用的标签假设它们会为您填充 space,但它们不会。您需要使用
的高级功能
string.Format or string.Pad
完整答案可在此处找到:Formatting a C# string with identical spacing in between values
我正在尝试向列表框添加多行和不同的部分,并且需要使用“\t”来创建布局。
listBox.Items.Add(emp[index].first + "\t\t" + emp[index].last + "\t\t" + emp[index].number + "\t\t" + emp[index].department + "\t\t" + "Annual Salary: " + (emp[index].annualSalary).ToString("c") + ", Annual Bonus: " + (emp[index].annualBonus).ToString("c"));
只是一个示例行。
结果看起来像:(没有点)
Mary.......Sue................778-435-2321.....Accounting.....Annual Salary: ,000.00 Trevor....Joseph...........604-894-2902.....Marketing.......Annual Salary: ,000.00 Steve......Collin.............778-234-5432.....Finance..........Annual Salary: ,500.00 George...........Watson..........604-910-2349.....Technical.......Annual Salary: ,000.00 Sally.......Henderson.....604-654-2325.....Sales..............Annual Salary: ,000.00 Jenny.....Motgomery.....604-692-4932.....Data Ana.......Annual Salary: ,000.00
任何人都可以解释为什么它显示不正常,我该如何解决这个问题? 我在网上搜索过,但找不到任何使用 \t 进行布局的结果。
首先,我强烈建议使用模式而不是使用加号连接字符串。这将帮助您看得更清楚:
string pattern = string.Format("{0}\t\t{1}\t\t{2}\t\t{3}\t\tAnnualSalary: {4}, Annual Bonus: {5}",
emp[index].first,
emp[index].last,
emp[index].number,
emp[index].department,
emp[index].annualSalary).ToString("c"),
emp[index].annualBonus);
您的问题的答案是,您使用的标签假设它们会为您填充 space,但它们不会。您需要使用
的高级功能string.Format or string.Pad
完整答案可在此处找到:Formatting a C# string with identical spacing in between values