我有一个包含 150 行的文件列表,每行包含 14 个逗号分隔的字符串:徽章号码、姓氏、名字等。当我向列表中添加新名称时,我想按姓氏字母顺序重新排列各行。这是我到目前为止所拥有的。
private void btnSort_Click(object sender, EventArgs e)
{
List<string[]> member = new List<string[]>();
string[] listofmembers = File.ReadAllLines("D:\\sirslist\\data.txt");
for (int i = 0; i < listofmembers.Length; i++)
{
[] item = listofmembers[i].Split();
member.Add(item);
}
到目前为止,我的代码创建成员如下:
member[0][0] = badge1,last name1,address1,etc,
member[1][0] = badge2,last name2,address2,etc
member[2][0] = badge3,last name3,address3,etc
我不知道如何设置它看起来像这样
member[0][0] = badge number
member[0][1] = last name
member[0][2] = first name
因此列表可以按member[0][1]、member[1][1]、member[2][1]等排序
类似的东西应该可以工作(除非你有带引号的普通 csv):
File.WriteAllLines
(
...,
File.ReadAllLines(...)
.Select(s => s.Split({','}))
.OrderBy(x => x[2].ToLowerCase()),
...
)