在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<String> whereList = new List<string>(); //存放条件的
List<OracleParameter> 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不存在