在C#的List集合对象中,FirstOrDefault方法可以用于查找List集合中符合条件的第一个元素,如果需要根据条件查找到List集合中的所有符合条件的元素对象集合,则需要使用到List集合的扩展方法Where()方法,Where方法的书写方式为Lambda表达式的书写形式,通过Where方法查找出符合条件的元素后再通过ToList方法可转换回原来的List集合对象类型。

举例如下,List集合testList为自定义类的List集合对象,首先往List集合中写入3条记录,具体如下:

List testList = new List<ConsoleApplication1.TestModel>();
testList.Add(new TestModel()
{
Index=1,
Name=“Index1”
});
testList.Add(new TestModel()
{
Index = 2,
Name = “Index2”
});
testList.Add(new TestModel()
{
Index = 2,
Name = “Index2”
});
如果想从 List集合testList对象中查找出Index=2的所有元素对象,并放到一个新的List集合中,可使用下面的语句实现:

var resultList = testList.Where(t => t.Index == 2).ToList();
其中t=>t为Lambda表达式的特殊写法,t代表testList集合中的元素对象。最后计算结果resultList集合中含有2个元素对象。

备注:原文转载自博主个人站IT技术小趣屋,原文链接C#中通过Where方法查找出所有符合条件的元素集合_IT技术小趣屋。

String sql = "select * from cus_mis_readft5_range ";//要留个空格最后 List&lt;String&gt; whereList = new List&lt;string&gt;(); //存放条件的 List&lt;OracleParameter&gt; parameters = new L...
1、 定义 System.Collections.Generic.List<T>类表示可通过索引访问的对象的强类型列表。提供用于对列表进行搜索、排序和操作的 方法 。T为类型参数,代表列表 元素 的类型。该类实现了IList<T>泛型接口,是ArrayList类的泛型等效类,其大小可按需动态增加。 2.构造函数
在学习的过程 ,发现泛型 集合 List有一个Where函数可以筛选 满足一定条件的 元素 ,结合Lambda表达式使用特别方便,写 来与大家分享。 1.关于Func Func是一种有任意个输入参数,有一个返回值的委托,在使用的过程 ,Func,前n-1个是输入参数类型,第N个是输 参数类型。 如Fun compare=(x,y)=>{return x>y;}; 表示定义一个 两个输入参数为int
把一些东西放到网上,看的时候方便一些。代码可能有bug且不是最佳解决方案,仅供参考。 题目:输入一个按升序排序的数组和一个数字,在数组 查找 两个数,使得它们的和正好是输入的那个数字。 要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输 任意一对即可。 例如输入数组1、2、3、4、7、11、12、15和数字15。由于4+11=15,因此输 4和11。 这道题非常...
C# 的List 集合 ,FirstOrDefault 方法 一般用来 查找 List 集合 第一个 符合条件 的对象,如果未查到则返回相应默认值。其实如果要 查找 最后一个 符合条件 的List 集合 元素 对象,可以使用LastOrDefault 方法 来实现,LastOrDefault 方法 的内部书写形式为Lambda表示式的书写形式。LastOrDefault 方法 如果未 查找 到符合要求的 元素 对象,将会返回对应默认值。 (1)假设有个List<int> 集合 对象list1,内部 元素 为1至10。我们在实际运算 并不知道list1
开发 看到了这个用法,随手记录下来~~ where里多个条件进行 查询 List<RISQueueInfo> registerList = new List<RISQueueInfo>(); registerList.Where(a =>string.IsNullOrWhiteSpace(a.CallingStudyRoom) && (!a.Calle...
private void simpleButton1_Click(object sender, EventArgs e)             if (radioButton2.Checked == true)                 StringBuilder sql = new StringBuilder("select * f
//where的用法 接口约束IComparable 和构造函数约束new(), 基类约束 FatherTest public class TestA<T> where T : FateherTest, IComparable, new() public class TestB //限制传递参数的类型必须继承IComparable 参数类型约束
请教,在List 集合 怎么得到 元素 的索引值,参考:http://www.myexception.cn/c-sharp/385022.html 这个可以用来读取窗口的多个textbox控件 内容: 1 ------解决方案-------------------- 2 你可以使用FindIndex 方法 3 C# code 4 private void Form1_Lo...
C# ,数组 查找 通常有几种常用 方法 : 1. **线性 查找 (Linear Search)**:也叫顺序 查找 ,是最基础的 查找 方法 。它通过逐个比较数组 元素 来寻找目标值,如果找到就返回索引,未找到则返回`-1`。例如: ```csharp int[] array = {1, 5, 9, 15}; int index = Array.IndexOf(array, targetValue); 2. **二分 查找 (Binary Search)**:适用于已经排序的数组。这种 方法 每次将数组分成两半,判断目标值在哪一半,然后继续在这个范围内搜索,直到找到为止。但由于不是所有的数组都支持二分 查找 ,需要满足特定条件。 3. ** 集合 查找 (Using Linq)**:如果你正在处理的是`List<T>`或其他实现了`IQueryable<T>`的 集合 ,可以使用LINQ(Language Integrated Query)提供的`Where`、`FindIndex`等 方法 : ```csharp int[] sortedArray = {1, 3, 5, 7, 9}; int index = sortedArray.FindIndex(item => item == targetValue); 4. **Dictionary 查找 (Using Dictionary)**:对于键值对数据结构,如`Dictionary<TKey, TValue>`, 可以直接通过键获取值: ```csharp Dictionary<int, string> dictionary = new Dictionary<int, string>(); int value; //假设你知道对应的键 if(dictionary.TryGetValue(key, out value)) // key存在,value为对应值 // key不存在