zoukankan      html  css  js  c++  java
  • C# List Find

    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

    List type

    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.

    Reverse graphic

    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

    Programming tip

    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

    The C# programming language

    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

  • 相关阅读:
    联想IdeaPad品牌出炉 三款笔记本亮相
    [推荐]2008年必不可少的20个网络产品
    微软公开.NET Base Classes源代码
    [共享一下]Head.First.设计模式.中文版
    IT: 蓝牙十岁了
    祝贺“阿来之家”博客正式开通~
    NodeJS安全设计:好吃的草莓味糖果,只给好朋友小红
    NodeJS文件读取:感恩常在抓把糖果,愉悦客人
    NodeJS缓存机制:畅销货,就多囤一点呗
    安装pygame出现is not a supported wheel on this platform解决办法
  • 原文地址:https://www.cnblogs.com/zhangchenliang/p/2640396.html
Copyright © 2011-2022 走看看