정의: List
기능:
제네릭의 가장 일반적인 용도는 제네릭 컬렉션입니다
목록 클래스를 생성할 때 목록 항목의 데이터 유형은 int, string 또는 기타 유형일 수 있습니다. 리스트 클래스의 처리 방법은 동일합니다.
데이터 유형을 미리 지정할 필요가 없으며 리스트 클래스를 인스턴스화할 때 지정하도록 놔둡니다. 이는 데이터 유형을 매개변수로 처리하는 것과 동일하며
코드 재사용을 극대화하고 유형 안전성을 보호하며 성능을 향상시킬 수 있습니다.
List의 일반적인 사용법
List가 속한 네임스페이스: System.Collections.Generic
public 클래스 List
List
를 구현하는 ArrayList 클래스와 동일합니다. 필요에 따라
(1) List
예: string[] Arr = {"a","b","c"} ;
List
(2) List.Add(T 항목)
요소 추가 예: mlist .Add( "d");
(3) 컬렉션 요소 추가
예: string[] Arr2 ={"f","g"."h"};
mlist.AddRange(Arr2);
(4) 인덱스 위치에 요소 추가 Insert(int index,T item)
예: mlist.Insert(1, "p" );
(5) List의 요소 순회
foreach(mlist의 T 요소) T의 유형은 mlist가 선언되었을 때와 동일합니다.
.WriteLine(요소);
}
foreach(mlist의 문자열 s)
}
예: mlist.Remove("a");
List .RemoveAt(int index); 첨자 인덱스
예: mlist.RemoveAt(0);
List.RemoveRange(int index, int count); 인덱스에서 시작하여 개수 요소 삭제
예: mlist.RemoveRange(3,2 );
예:
if(mlist.Contains"("g")) Console.WriteLine("g가 목록에 있습니다.");
else
mlist.Add("g");
예: mlist.Sort() ;
(10)목록은 List.Clear()
를 지웁니다. 예: mlist.Clear();(11) 목록의 요소 수를 가져옵니다. List.Count() int 값을 반환합니다. 예 : mlist.count();
(1)List.FindAll 방법: 모든 요소 검색 지정된 조건자
클래스 프로그램
{ static void Main(stirng[] args) 공개 클래스 학생 { (2) List.Find 메서드는 지정된 조건자에 정의된 조건과 일치하는 요소를 검색하고 전체 목록에서 첫 번째로 일치하는 요소를 반환합니다. 의 요소는 하나씩 Predicate 대리자에게 전달됩니다. 목록 중간에 위치 앞으로 이동하여 첫 번째 요소에서 시작하여 마지막 요소로 끝나며, 일치하는 예: 예: 🎜> (4) List.TrueForAll 메서드: List의 각 요소가 지정된 조건자에 정의된 조건과 일치하는지 확인합니다. public bool TrueForAll(Predicate (5) List.Take(n): 처음 n 행을 가져오고 반환 값은 IEnumtable<입니다. ;T> T의 유형은 List 예: IEnumerable 의 처음 5개(6) List.Where 메소드: 정의된 조건과 일치하는 모든 요소를 검색합니다. 지정된 술어로. List.FindAll 메서드와 유사합니다. 예: IEnumerable If (name.Length > 3) ~ 그렇지 않으면 }); foreach(subList의 문자열 s) { Console.WriteLine("subList의 요소: "+s); } 이때 subList는 길이가 3보다 큰 모든 요소를 저장합니다 (7) List.RemoveAll 메서드: 제거 지정된 조건자에 의해 정의된 조건과 일치하는 모든 요소입니다. public int RemoveAll(Predicate 예: mList.RemoveAll(name => ~ >
{
학생 stu = new Student ();
stu.Name="arron";
List
Students.Add(stu);
Students.Add(새 학생("candy") );
FindName myname = new FindName("arron");
foreach(student s in Students.FindAll(new Predicate
{ Console .WriteLine(s) ;}
}
{
공개 문자열 이름{get;set;}
공개 학생(){}
공개 재정의 문자열 ToString()
반환 문자열("이름. :{0}",Name);
}
}
private string _name;
public FindName(string Name)
{ this._name=이름;}
public bool IsName(학생)
{ return (s.Name==_name)?true:false;}
}
이 발견되면 처리가 중지됩니다.
string listFind = mlist.Find(name=>
{
if(name.length>3)
return true;
return false;
});
public bool ListFind(문자열 이름)