使用LINQ操作集合中的数据
本文关键字:数据 集合 LINQ 操作 使用 | 更新日期: 2023-09-27 18:25:50
我使用以下内容:
var menuItems = _menuRepository.GetPk(pk)
.Where(m => m.Status == "00")
.OrderBy(m => m.Order)
.Select(m => new MenuItem
{
PartitionKey = m.PartitionKey,
RowKey = m.RowKey,
Order = m.Order,
Link = m.Link
});
检索如下字符串的集合。所有字符串的长度相同(8列),并按顺序排序:
0-0-0-00
0-1-0-00
0-2-0-00
0-3-0-00
1-0-0-00
1-1-0-00
1-1-1-00
1-1-2-00
1-1-3-00
1-2-0-00
3-1-0-00
3-2-0-00
我需要做的是,如果给定一个字符串,如"1-1-1-00",那么我需要从menuItems列表中检索所有行,其中前四列与输入字符串匹配,除了第五列中有零的一行。例如:
1-1-1-00
1-1-2-00
1-1-3-00
String input = "1-1-1-00";
var wantedStrings = stringList.Where(str => str.StartsWith(input.Substring(0, 4)) && str[4] != '0');
string given = "1-1-1-00";
string sptGiven = given.Split('-');
var result = stringList.Where(m => m.Split('-')[0] == sptGiven[0] &&
m.Split('-')[2] == sptGiven[2] &&
m.Split('-')[3] == sptGiven[3]);