C# List の使い方を詳しく解説

高洛峰
リリース: 2016-12-15 15:34:17
オリジナル
2743 人が閲覧しました

1 導入について

(1) 名前空間: System.Collections.Generic

public class List : IList、ICollection、IEnumerable、IList、ICollection、IEnumerable.

( 2) List クラスは、ArrayList クラスの汎用同等クラスです。このクラスは、必要に応じてサイズを動的に増加できる配列を使用して、IList ジェネリック インターフェイスを実装します。

(3) ジェネリックの利点: C# 言語を使用してオブジェクト指向プログラムを作成する際に、優れた効率と柔軟性が追加されます。値型の強制的なボックス化とボックス化解除、または参照型のダウンキャストがないため、パフォーマンスが向上します。

(4) パフォーマンスに関する注意: List クラスまたは ArrayList クラス (どちらも同様の機能を備えています) を使用する場合は、ほとんどの場合、List クラスの方がパフォーマンスが高く、タイプ セーフであることに注意してください。

List クラスの型 T に参照型を使用する場合、2 つのクラスの動作はまったく同じになります。ただし、型 T の値型を使用する場合は、実装とボックス化の問題を考慮する必要があります。

(5) Microsoft の言葉:

「ArrayList に追加された参照または値の型は、その項目が値の型である場合、リストに追加するとき、ボックス化を解除するときに暗黙的にキャストされる必要があります。取得中、ボックス化とボックス化解除はすべてパフォーマンスを低下させます。大規模なコレクションを反復処理する必要がある場合、ボックス化とボックス化の影響は大きくなります。 = new List();

T はリスト内の要素のタイプです

例: List();

(2)List testList =new List (IEnumerable collection);

コレクションをパラメータとしてリストを作成

string[ ] temArr = { "Ha", "Hunter", "トム」、「リリー」、「ジェイ」、「ジム」、「クク」、「ロク」 };

List testList = new List (temArr);

2 要素を追加します:

( 1) List.Add(T item) 要素を追加します

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 (string s in mList)

{

Console.WriteLine(s);

2 要素の削除

(1)List.Remove(T item) 次のような値

を削除します。添字は、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("Add Hunter success.");

}



C# List&の詳細lt ;T>詳しい使用方法については、PHP 中国語 Web サイトの関連記事をご覧ください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート