• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#ListFind

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

List can be searched imperatively. This often involves a foreach-loop. It can be searched instead with the Find method: this often uses a lambda expression. Find makes code clearer in some program contexts. It sometimes makes maintenance easier.

Example

Instead of using a foreach-loop with an if statement, you can use the Find instance method on List. Here we see that it also accepts a Predicate, which you can specify as a lambda expression. It returns the first match.

Program that uses Find method on List [C#]

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
	List<int> list = new List<int>(new int[] { 19, 23, 29 });

	// Finds first element greater than 20
	int result = list.Find(item => item > 20);

	Console.WriteLine(result);
    }
}

Output

23

This code loops through each int value in the List, starting at the beginning, and tests each one to see if it is greater than 20. The first one that is, 23, is returned. The parameter to the Find method is a lambda expression that is considered a Predicate instance.

Predicate Type

Tip:Please see the article on the Predicate type for more specific examples.

To search backwards, use the FindLast method, which would return 29 in the example above. It will scan the List from the very last element to the first. There are also FindIndex and FindLastIndex methods you can use, which would return the index of the matches, which would correspond to the numbers returned in the example.

Exists

Another useful method on the List type that can be used to search a List is the Exists method. This receives a Predicate parameter and returns a bool value indicating whether the element was found.

List Exists Method

FindAll

The FindAll method on List, which is an instance method that returns a new List with the same element type, is also available. If you want to find all the matching elements based on a Predicate, this is useful.

Loop with List

In situations where the exact behavior of the List code is important, you can use for and foreach loops with List. This can sometimes also be faster than methods that receive delegates.

List Examples

Delegate Tutorial

Summary

In this article, we saw ways to find elements by searching in the List collection from System.Collections.Generic. These methods are convenient and can help you place the emphasis on other logic in your class.

Note:I use them extensively in programs with Lists, except in performance-critical situations.

List Contains Method

List IndexOf Method


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#读取wav文件发布时间:2022-07-13
下一篇:
SCons:替代make和makefile及javac的极好用的c、c++、java构建工具发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap