gpt4 book ai didi

c# - 根据属性值列出选择的对象范围

转载 作者:行者123 更新时间:2023-11-30 21:52:44 25 4
gpt4 key购买 nike

我有以下列表:

List<MyType> myList = new List<MyType>
{
new MyType {Key = "aa", Value = "test1"},
new MyType {Key = "bb", Value = "test2"},
new MyType {Key = "zz", Value = "testzz"},
new MyType {Key = "cc", Value = "test3"},
new MyType {Key = "yy", Value = "testyy"},
new MyType {Key = "dd", Value = "test4"},
new MyType {Key = "ee", Value = "test5"}
};

在哪里,

public class MyType
{
public string Key { get; set; }
public string Value { get; set; }
}

现在,我想根据Key的值检索范围内的所有对象。也就是说,我想从列表中选择从 Key="bb"到 Key="dd"的所有对象(无字母顺序),这样我就会得到以下结果:

new MyType {Key = "bb", Value = "test2"},
new MyType {Key = "zz", Value = "testzz"},
new MyType {Key = "cc", Value = "test3"},
new MyType {Key = "yy", Value = "testyy"},
new MyType {Key = "dd", Value = "test4"}

如何使用 linq/lambda 表达式实现此目的?

[更新:12/30/2015]: key 未按字母顺序排列,可能有数百个 key 。因此,涉及 list.Contains(..) 并假设字母顺序的解决方案将不起作用。我还更新了示例以包含具有键“yy”和“zz”的对象以反射(reflect)相同的情况。

最佳答案

如果您有一组不相交的键,那么您可以使用 Contains 运算符:

var keys = new [] { "bb", "cc", "dd" };

var result = myList.Where(x => keys.Contains(x.Key));

关于c# - 根据属性值列出选择的对象范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34510835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com