我有一个使用File.ReadLines(filepath)读取的文本文件。它填充了使用:分隔的名字和姓氏。有没有办法使用LINQ,我可以在foreach循环中访问返回数据类型的名字和姓氏?
// john:doe
// david:smith
// michael:rogers
var Names = File.ReadLines(filepath)
.Select(line => line.Split(':'));
foreach (var list in Names)
listbox1.Items.Add(list); //(first name) before :
listbox2.Items.Add(list); //(last name) after :
答案 0 :(得分:2)
foreach (var list in Names)
{
listbox1.Items.Add(list[0]); //(first name) before :
listbox2.Items.Add(list[1]); //(last name) after :
}
答案 1 :(得分:0)
list[0]
是第一个,list[1]
是第二个
listbox1.DataSource = Names.Select(a => a[0]).ToArray();
listbox2.DataSource = Names.Select(a => a[1]).ToArray();
答案 2 :(得分:0)
根据您的示例,我认为不是多列ListBox
。
分割后使用SelectMany
展平层次结构。
listbox1.DataSource = File.ReadLines(filepath)
.SelectMany(line=>line.Split(':'));
或者,使用AddRange
方法并执行此操作
ListBox1.Items.AddRange(File.ReadLines(filepath)
.SelectMany(line=>line.Split(':')
.Cast<object>() // I think this is redundant remove if not required.
.ToArray()
);