search
HomeBackend DevelopmentC#.Net TutorialThe definition, function and usage of c# generic List

Definition: The List class represents a strongly typed list of objects accessible through an index, providing methods for searching, sorting, and manipulating the list.


Function:
The most common use of generics is generic collections
When we create a list class, the data type of the list items may be int, string or other types. If the list class is processed in the same way,
there will be no The data type must be specified in advance and left to be specified when the list class is instantiated. It is equivalent to treating data types as parameters, which can maximize code reuse, protect type safety and improve performance.

General usage of List

Namespace to which it belongs: System.Collections.Generic
public class List:IList,Icollection,IEnumerable,IList,Icollection,Ienumerable
List generic interface using an array whose size can be dynamically increased on demand

(1) Declare Listmlist = new List( );

eg: string[] Arr = {"a","b","c"};
List mlist = new List(Arr);

(2) Add an element List.Add(T item)  eg: mlist.Add("d");


(3) Add collection elements

eg: string[] Arr2 ={"f","g"."h"} ;

         mlist.AddRange(Arr2);

 

(4) Add an element at the index position Insert(int index,T item)

   eg: mlist.Insert(1,"p");


 

(5 ) Traverse the elements in the List

 foreach(T element in mlist) The type of T is the same as when mlist was declared

  {

  Console.WriteLine(element); {
                                Console .WriteLine(s);
       }

                                                                                                                                             . ;Delete the element with subscript index

eg: mlist.RemoveAt(0);

List.RemoveRange(int index,int count); Starting with index, delete count elements
eg: mlist.RemoveRange(3,2 );

(7) Determine whether an element is in the List


List.Contains(T item) Return true or false

eg:

if(mlist.Contains"("g"))
Console.WriteLine("g exists in the list");
else
mlist.Add("g");

(8) Sort the elements in the List List.Sort() The default is that each letter of the element is in ascending order

eg: mlist.Sort();

(9) Reverse the order of elements in List List.Reverse() can be used in conjunction with List.Sort()



(10) Clear List List.Clear()
eg: mlist.Clear();

(11) Obtain the number of elements in the List List.Count() and return the int value

eg: mlist.count();


Advanced List, powerful method

(1)List.FindAll method: Retrieve all elements that match the conditions defined by the specified predicate


class program

{

static void Main(stirng[] args)
                                                                                                                                                                                         stu.Name="arron";

List students= new List();

students.Add(stu);

students.Add(new student("candy"));

FindName myname = new FindName("arron");

Public class student
{
set;}
public student(){}
public override string ToString()
{
{0} return string. }
}

public class FindName

{
private string _name;
public FindName(string Name)
{ this._name=Name;}
public bool IsName(student s)
{ return (s.Name ==_name) ?true:false;}
}

(2) The List.Find method searches for elements that match the conditions defined by the specified predicate and returns the first matching element in the entire List

eg:

//Predicate is a delegate to the method. If the object passed to it matches the conditions defined by the delegate, the method returns true. The elements of the current List are passed to the Predicate delegate one by one, and are moved in the middle of the List, starting from the first elements and ends with the last element, processing stops when a match is found


The first method delegates to a lambda expression:
eg: string listFind = mlist.Find(name=>

{

if(name.length>3)
                   return true;

                                                                                                                                               if (name. Length>
The results of these two methods are the same



(3) List.FindLast method public T FindLast(Predicate match);Determines whether each element in the List matches the conditions defined by the specified predicate. Usage is the same as List.Find.

(4) List.TrueForAll method: Determine whether each element in List matches the conditions defined by the specified predicate.

public bool TrueForAll(Predicate match);

(5) List.Take(n): Get the first n rows and the return value is IEnumetable, the type of T is the same as the type of List ​​element in takeList: " + s);

                                 

           At this time, the elements stored in takeList are the first 5 elements in mList

(6) List.Where method: Retrieve all elements that match the conditions defined by the specified predicate. Similar to the List.FindAll method.

E.g.:

                           IEnumerable whereList = mList.Where(name => 3)

                                                                                                                                                                                                    

​​​            foreach (string s in subList)                                                                                                                                            subList stores all elements with a length greater than 3

(7) List.RemoveAll method: Remove all elements that match the conditions defined by the specified predicate. ​​​​If (name.Length > 3)

                                                                                                                                        S}

else} {

return false;

}}});

Foreach (string s in mlist) {

console.writeline ("Element in mlist:" + s);

M}

At this time, Mlist stores elements that are greater than 3.

For more articles related to the definition, function, and usage of c# generic List, please pay attention to the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
What are the alternatives to NULL in C languageWhat are the alternatives to NULL in C languageMar 03, 2025 pm 05:37 PM

This article explores the challenges of NULL pointer dereferences in C. It argues that the problem isn't NULL itself, but its misuse. The article details best practices for preventing dereferences, including pre-dereference checks, pointer initiali

How to add next-level C compilerHow to add next-level C compilerMar 03, 2025 pm 05:44 PM

This article explains how to create newline characters in C using the \n escape sequence within printf and puts functions. It details the functionality and provides code examples demonstrating its use for line breaks in output.

Which C language compiler is better?Which C language compiler is better?Mar 03, 2025 pm 05:39 PM

This article guides beginners on choosing a C compiler. It argues that GCC, due to its ease of use, wide availability, and extensive resources, is best for beginners. However, it also compares GCC, Clang, MSVC, and TCC, highlighting their differenc

Is NULL still important in modern programming in C language?Is NULL still important in modern programming in C language?Mar 03, 2025 pm 05:35 PM

This article emphasizes the continued importance of NULL in modern C programming. Despite advancements, NULL remains crucial for explicit pointer management, preventing segmentation faults by marking the absence of a valid memory address. Best prac

What are the web versions of C language compilers?What are the web versions of C language compilers?Mar 03, 2025 pm 05:42 PM

This article reviews online C compilers for beginners, focusing on ease of use and debugging capabilities. OnlineGDB and Repl.it are highlighted for their user-friendly interfaces and helpful debugging tools. Other options like Programiz and Compil

C language online programming website C language compiler official website summaryC language online programming website C language compiler official website summaryMar 03, 2025 pm 05:41 PM

This article compares online C programming platforms, highlighting differences in features like debugging tools, IDE functionality, standard compliance, and memory/execution limits. It argues that the "best" platform depends on user needs,

Method of copying code by C language compilerMethod of copying code by C language compilerMar 03, 2025 pm 05:43 PM

This article discusses efficient code copying in C IDEs. It emphasizes that copying is an IDE function, not a compiler feature, and details strategies for improved efficiency, including using IDE selection tools, code folding, search/replace, templa

How to solve the problem of not popping up the output window by the C language compilerHow to solve the problem of not popping up the output window by the C language compilerMar 03, 2025 pm 05:40 PM

This article troubleshoots missing output windows in C program compilation. It examines causes like failing to run the executable, program errors, incorrect compiler settings, background processes, and rapid program termination. Solutions involve ch

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools