C#のジェネリックリストの定義、機能、使い方

高洛峰
リリース: 2016-12-15 15:38:11
オリジナル
1398 人が閲覧しました

定義: List クラスは、インデックスを通じてアクセスできる、厳密に型指定されたオブジェクトのリストを表し、リストの検索、並べ替え、操作のためのメソッドを提供します。


機能:
ジェネリックの最も一般的な用途はジェネリックコレクションです
リストクラスを作成するとき、リスト項目のデータ型はint、string、またはその他の型になります。リストクラスが同じ方法で処理される場合、
ありません。事前にデータ型を指定し、リストクラスをインスタンス化するときに指定しておく必要があります。これはデータ型をパラメータとして扱うことと同等であり、コードの再利用を最大限に高め、型の安全性を保護し、パフォーマンスを向上させることができます。

List の一般的な使用法

それが属する名前空間: System.Collections.Generic
public class List:IList,Icollection,IEnumerable,IList,Icollection,Ienumerable
List< ;T> ; は、ArrayList クラスと同等の汎用クラスで、サイズをオンデマンドで動的に増加できる配列を使用して IList を実装します

(1) Listmlist = new List ;( );

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

(2) 追加要素 List.Add(T item)

例: mlist.Add("d");

(3) コレクション要素を追加します

例: string[] Arr2 ={"f","g"."h "} ;
mlist.AddRange(Arr2);

(4) インデックス位置に要素を追加します。 Insert(intindex,T item)

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

(5 )List内の要素を走査する

foreach(mlistのT要素) Tの型はmlist宣言時と同じ

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

Remove ;添え字インデックスを持つ要素を削除します
例: mlist.RemoveAt(0);

List.RemoveRange(intindex,int count); 例: : mlist.RemoveRange(3) ,2 ; Console.WriteLine("リストに g が存在します");
else

mlist.Add("g");

(8) リスト内の要素を並べ替えます List.Sort() デフォルトは要素の各文字は昇順です

例: mlist.Sort();


(9) リスト内の要素の順序を逆にします List.Reverse() は List.Sort() と組み合わせて使用​​できます


(10) リストのクリア List.Clear()

例: mlist.Clear();

(11) リストの要素数を取得 List.Count() し、int 値を返す

例: mlist.count ();



List の高度で強力なメソッド


(1)List.FindAll メソッド: 指定された述語で定義された条件に一致するすべての要素を取得します

クラスプログラム

{
static void Main(stirng[ ] args)stu.name = "arron"; FindName myname = new FindName("arron");

パブリック クラス Student
{
set;}
public Student(){}
public オーバーライド文字列 ToString()
{
}
}

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) List.Find メソッドは以下を検索します。指定された述語で定義された条件に一致する要素を返し、リスト全体で最初に一致した要素を返します

例:

// 述語はメソッドへのデリゲートです。渡されたオブジェクトがデリゲートによって定義された条件に一致する場合、このメソッドは true を返し、現在の List の要素が 1 つずつ Predicate デリゲートに渡され、最初の要素から開始して最後の要素で終わり、リストの中央に移動され、一致が見つかると処理が停止します。


最初のメソッドはラムダ式に委譲します:
例: string listFind = mlist.Find(name=>

{

if(name.length>3)
return true;

長さ>
この二つの結果メソッドは同じです



(3) List.FindLast メソッド public T FindLast(Predicate match);List 内の各要素が、指定された述語によって定義された条件に一致するかどうかを判断します。使い方はList.Findと同じです。

(4) List.TrueForAll メソッド: List の各要素が、指定された述語で定義された条件に一致するかどうかを判断します。

public bool TrueForAll(Predicate match);

(5) List.Take(n): 最初の n 行を取得し、戻り値は IEnumetable で、T の型は次と同じです。 takeList の List 要素の種類: " + s);

現時点では、takeList に格納されている要素は mList の最初の 5 つの要素です

(6) List.Whereメソッド: 指定された述語で定義された条件に一致するすべての要素を取得します。 List.FindAll メソッドに似ています。

e.g。:

string&gt; where(name =&gt; 3)foreach (subList 内の文字列 s) subList には、長さが 3 より大きいすべての要素が格納されます

(7) List.RemoveAll メソッド: 指定された述語で定義された条件に一致するすべての要素を削除します。 If (name.Length > 3)

S}

else} {

return false;

}}}); "Element in mlist:" + s);

M}

このとき、Mlist には 3 より大きい要素が格納されます。

C# generic List の定義、機能、および使用法に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

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