ホームページ >バックエンド開発 >C#.Net チュートリアル >C# List
名前空間: System.Collections.Generic
パブリック クラス List8742468051c85b06f0a0af9e3e506b5c : IList8742468051c85b06f0a0af9e3e506b5c、ICollection8742468051c85b06f0a0af9e3e506b5c、IEnumerable8742468051c85b06f0a0af9e3e506b5c、IList、ICollection、IEnumerable
ジェネリックの利点: C# 言語を使用してオブジェクト指向プログラムを作成する際に、大幅な効率と柔軟性が追加されます。値型の強制的なボックス化とボックス化解除、または参照型のダウンキャストがないため、パフォーマンスが向上します。
T はリスト内の要素のタイプです
例: List98c455a79ddfebb79781bff588e7b37e mList = new List98c455a79ddfebb79781bff588e7b37e();
コレクションをパラメータとしてリストを作成します
string[] temArr = { "Ha", "Hunter", 「トム」、「リリー」、「ジェイ」、「ジム」、「クク」、「ロク」 };
List98c455a79ddfebb79781bff588e7b37e testList = new List98c455a79ddfebb79781bff588e7b37e(temArr);
要素を追加します:
1 .List.Add(T item) 要素を追加します
例: mList.Add("John");
2. List.AddRange(IEnumerable8742468051c85b06f0a0af9e3e506b5c collection) 例:
string ] temArr = { "ハ","ハンター", "トム", "リリー", "ジェイ", "ジム", "クク", "ロク" };
foreach (T element in mList) T的类型与mList声明时一样 { Console.WriteLine(element); }
foreach (string s in mList) { Console.WriteLine(s); }要素を削除します: 1. List.Remove(T item) 値を削除します例: mList.Remove("Hunter");2. 削除の添字はインデックスの要素です。 例: mList.RemoveAt(0);
3. List.RemoveRange(int index, int count);
添字インデックスから始めて、count 個の要素を削除します
例: mList.RemoveRange(3 , 2);
要素がリスト内にあるかどうかを判断します:
List。Contains(T item) true または false を返します。非常に実用的です
例:
if (mList.Contains("Hunter")) { Console.WriteLine("There is Hunter in the list"); } else { mList.Add("Hunter"); Console.WriteLine("Add Hunter successfully."); }
リスト内の要素を並べ替えます:
リスト ( ) デフォルトは要素の最初の文字を昇順にします例: mList.Sort();List 内の要素の順序を反転します:List。Sort () と組み合わせて使用できます。 ) 、目的の効果を実現するには
例: mList.Sort();
リストのクリア: List.Clear ()
例: mList.Clear(); リスト内の要素の数を取得します。 . Count () int 値を返します 例:int count = mList.Count();
Console.WriteLine("リスト内の要素の数: " +count); 2. :
例として使用されるリスト:
string[] temArr = { Ha","Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", " "Locu" };
mList.AddRange(temArr);
List.Find メソッド: 指定された述語で定義された条件に一致する要素を検索し、リスト全体で最初に一致した要素を返します。
public T Find(Predicate8742468051c85b06f0a0af9e3e506b5c match);
Predicate は、渡されたオブジェクトがデリゲートで定義された条件に一致する場合に true を返すメソッドへのデリゲートです。現在のリストの要素は 1 つずつ述語デリゲートに渡され、最初の要素から始まり最後の要素で終わるまで、リスト内を前方に移動します。一致するものが見つかると処理は停止します。
述語は関数またはラムダ式に委任できます:
string listFind = mList.Find(name => //name是变量,代表的是mList { //中元素,自己设定 if (name.Length > 3) { return true; } return false; }); Console.WriteLine(listFind); //输出是Hunter関数に委任:
E.g.:
string listFind1 = mList.Find(ListFind); //委托给ListFind函数
Console.WriteLine(listFind); //输出是Hunter
ListFind函数:
public bool ListFind(string name) { if (name.Length > 3) { return true; } return false; }
用法与List.Find相同。
List.TrueForAll方法: 确定是否 List 中的每个元素都与指定的谓词所定义的条件相匹配。
public bool TrueForAll(Predicate8742468051c85b06f0a0af9e3e506b5c match);
委托给拉姆达表达式:
E.g.:
bool flag = mList.TrueForAll(name => { if (name.Length > 3) { return true; } else { return false; } } ); Console.WriteLine("True for all: "+flag); //flag值为false
委托给一个函数,这里用到上面的ListFind函数:
E.g.:
bool flag = mList.TrueForAll(ListFind); //委托给ListFind函数
Console.WriteLine("True for all: "+flag); //flag值为false
这两种方法的结果是一样的。
List.FindAll方法:检索与指定谓词所定义的条件相匹配的所有元素。
public List8742468051c85b06f0a0af9e3e506b5c FindAll(Predicate8742468051c85b06f0a0af9e3e506b5c match);
E.g.:
List<string> subList = mList.FindAll(ListFind); //委托给ListFind函数 foreach (string s in subList) { Console.WriteLine("element in subList: "+s); }
这时subList存储的就是所有长度大于3的元素
List.Take(n): 获得前n行 返回值为IEnumetable8742468051c85b06f0a0af9e3e506b5c,T的类型与List8742468051c85b06f0a0af9e3e506b5c的类型一样
E.g.:
IEnumerable<string> takeList= mList.Take(5); foreach (string s in takeList) { Console.WriteLine("element in takeList: " + s); }
这时takeList存放的元素就是mList中的前5个
List.Where方法:检索与指定谓词所定义的条件相匹配的所有元素。跟List.FindAll方法类似。
E.g.:
IEnumerable<string> whereList = mList.Where(name => { if (name.Length > 3) { return true; } else { return false; } }); foreach (string s in subList) { Console.WriteLine("element in subList: "+s); }
这时subList存储的就是所有长度大于3的元素
List.RemoveAll方法:移除与指定的谓词所定义的条件相匹配的所有元素。
public int RemoveAll(Predicate8742468051c85b06f0a0af9e3e506b5c match);
E.g.:
mList.RemoveAll(name => { if (name.Length > 3) { return true; } else { return false; } }); foreach (string s in mList) { Console.WriteLine("element in mList: " + s); }
这时mList存储的就是移除长度大于3之后的元素。
List8742468051c85b06f0a0af9e3e506b5c 是一个泛型链表...T表示节点元素类型
比如
Listbd43222e33876353aff11e13a7dc75f6 intList;表示一个元素为int的链表
intList.Add(34); //添加
intList.Remove(34);//删除
intList.RemoveAt(0); //删除位于某处的元素
intList.Count; //链表长度
还有Insert,Find,FindAll,Contains等方法,也有索引方法 intList[0] = 23;
1.减少了装箱拆箱
2.便于编译时检查数据类型
Lista87fdacec66f0909fc0757c19f2d2b1d 就相当于 System.Collections命名空间里面的List
更多C# List8742468051c85b06f0a0af9e3e506b5c的用法小结相关文章请关注PHP中文网!