>백엔드 개발 >C#.Net 튜토리얼 >C# List 사용법 세부 정보 소개

C# List 사용법 세부 정보 소개

高洛峰
高洛峰원래의
2016-12-15 15:34:172781검색

1 관련 소개

(1) 네임스페이스: System.Collections.Generic

공개 클래스 List : IList, ICollection, IEnumerable ;, IList, ICollection, IEnumerable.

(2) List 클래스는 ArrayList 클래스와 동등한 일반 클래스입니다. 이 클래스는 필요에 따라 크기를 동적으로 늘릴 수 있는 배열을 사용하여 IList 일반 인터페이스를 구현합니다.

(3) 제네릭의 이점: C# 언어를 사용하여 객체 지향 프로그램을 작성하는 데 뛰어난 효율성과 유연성을 추가합니다. 값 유형의 강제 박싱 및 언박싱 또는 참조 유형의 다운캐스팅이 없으므로 성능이 향상됩니다.

(4) 성능 참고 사항: List 또는 ArrayList 클래스(둘 다 유사한 기능을 가짐) 중 하나를 사용할 때 List 클래스가 더 나은 성능을 발휘한다는 점을 기억하세요. .

List 클래스의 T 유형에 대한 참조 유형을 사용하는 경우 두 클래스의 동작은 완전히 동일합니다. 그러나 T 유형에 대한 값 유형을 사용하는 경우 구현 및 박싱 문제를 고려해야 합니다.

(5) Microsoft의 말:

“ArrayList에 추가된 모든 참조 또는 값 유형은 암시적으로 Object로 캐스팅됩니다. 항목이 값 유형인 경우 추가 시 Boxing을 수행해야 합니다. 이를 목록에 추가하고 검색할 때 박싱을 해제하면 성능이 저하됩니다. 박싱은 대규모 컬렉션을 반복해야 할 때 발생합니다. "

일반적인 방법

1 설명:

(1)List mList = new List()

T는 목록의 요소 유형입니다.

예: List();

(2) List testList =new List(IEnumerable 컬렉션);

목록 만들기

string[] temArr = { "Ha", "Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", "Locu" } ;

List testList = new List(temArr);

2 요소 추가:

(1) 목록 추가. element

mList.Add("John");

(2 ) List.AddRange(IEnumerable collection) 요소 집합 추가

string[] temArr = { "하","헌터", "톰", "릴리", "제이", "짐" , "쿠쿠", "로쿠" };

mList.AddRange(temArr);

(3)Insert(int index, T item); 인덱스 위치에 요소를 추가합니다

mList.Insert(1, "Hei");

List:

foreach(mList의 T 요소) T의 유형은 mList가 선언되었을 때와 동일합니다

{

Console.WriteLine(element);

} 다음과 같습니다.

foreach(mList의 문자열 s)

{

Console.WriteLine(s);

}

2 요소 삭제

(1)List.Remove(T 항목) 값 삭제

예: mlist.Remove("Hunter");

( 2) List.RemoveAt(int index); mList.RemoveAt(0);

과 같이 첨자가 인덱스

인 요소를 삭제합니다.

(3) List.RemoveRange(int index, int count);

아래 첨자 인덱스에서 시작하여

mList.RemoveRange(3, 2)와 같은 count 요소를 삭제합니다.

3 요소가 목록에 있는지 확인:

List.Contains(T item) 매우 실용적이며 true 또는 false를 반환합니다.

if (mList.Contains("Hunter " ))

{

Console.WriteLine("목록에 Hunter가 있습니다.");

}

else

{

mList.Add("Hunter");

Console.WriteLine("Hunter를 추가했습니다.");

}



C# List 사용법에 대한 자세한 소개는 PHP 중국어 홈페이지에서 관련 글을 참고해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.