List
動作もほぼ同じです。今回は、基本的な操作について記述します。
実は、このList
俗に言うFunctorインターフェースですね。
javaでいうと、commons-collectionsのFunctor Interfaces、Rubyでいうとブロックをメソッドに渡して
処理をするのと似ています。
てことで、今回のサンプルです。
たいした事はしていませんが・・・。w
using System; using System.Collections.Generic; using System.Text; namespace Gsf.Samples.ClassLibraryResearch.System.Collections.Generic { /// <summary> /// System.Collections.Generic.Listクラスのサンプルです。 /// </summary> /// <remarks> /// Listクラスの基本的な使用方法について記述しています。 /// </remarks> public class ListResearcher : IExecutable{ public void Execute() { ////////////////////////////////////// // // Listクラスの基本的な操作 // // // 要素の追加(Addメソッド) // List<string> list1 = new List<string>(); list1.Add("gsf_zero1"); list1.Add("gsf_zero2"); // // 要素を一気に追加(AddRangeメソッド) // // 引数に与えるものは、IEnumerable<T>を実装しているものなので // Listはもちろん同じ型の配列も渡せます。 // (System.ArrayはIEnumerableを実装しています。) // list1.AddRange(new string[]{"gsf_zero3", "gsf_zero4"}); foreach(string s in list1){ Console.WriteLine(s); } // // リスト内のデータの件数(Countプロパティ) // Console.WriteLine(list1.Count); // // 特定の要素がリスト内に存在するかどうか(Containsメソッド) // Console.WriteLine("gsf_zero2という値がリスト内に存在するか?:{0}", list1.Contains("gsf_zero2")); // // 指定したインデックスの位置に要素を追加する(Insertメソッド) // InsertRangeはAddRangeと同じ使い方なので割愛します。 // list1.Insert(0, "gsf_zero0"); Console.WriteLine("{0}", list1[0]); // // 要素を削除(Removeメソッド) // RemoveAtメソッドはRemoveメソッドをインデックスで利用するものですので割愛します。 // list1.Remove("gsf_zero0"); Console.WriteLine("{0}", list1[0]); // // データのソート・リバース(Sortメソッド・Reverseメソッド) // Console.WriteLine("===============ソート前==================="); foreach(string s in list1){ Console.WriteLine(s); } Console.WriteLine("===============リバース後==================="); list1.Reverse(); foreach(string s in list1) { Console.WriteLine(s); } Console.WriteLine("===============ソート後==================="); list1.Sort(); foreach(string s in list1) { Console.WriteLine(s); } // // データのクリア(Clearメソッド) // list1.Clear(); Console.WriteLine(list1.Count); } } }
ちなみに、List
他にもICollection
================================
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ
サンプルコードは、以下の場所で公開しています。
- いろいろ備忘録日記サンプルソース置き場