ホームページ >バックエンド開発 >C#.Net チュートリアル >C# のコレクション
コレクションは、クラスの内容の保存と取得のための動的なメモリ割り当てのために C# で使用されるクラスのタイプとして定義でき、複数の操作を実行するために使用できます。 C# では、コレクションは「System.Collections.Generic クラス」、「System.Collections」の形式で機能します。 「並行クラス」と「System.Collections クラス」。ストレージ パターンの観点から見ると、コレクションは配列のデータ構造を複製します。唯一の違いは、配列とは異なり、コレクションは必要なサイズで定義する必要がないことです。
コレクションを操作するには次の 3 つの方法があります
以下は、C# のさまざまなタイプのコレクションの例です:-
System.Collections のコレクションです。複数のデータ型のデータを保持でき、データが追加されると自動的に拡張されます。
コード:
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ArrayListExample { class Program { static void Main(string[] args) { var data = new ArrayList(); //arraylist collection data.Add("Demo"); // add element data.Add(1); data.Add(5); data.Add(26); data.Add(56.4); data.Add(32); data.Remove(5); // remove element foreach (object obj in data) // iteration { Console.WriteLine(obj); Console.ReadLine(); } } } }
上記の例には、ArrayList 型のコレクションがあります。 ArrayList にはいくつかの要素があります。 Add() と Remove() は、それぞれコレクションに要素を追加したり、コレクションから要素を削除したりするために使用されるメソッドです。 foreach は反復と値の表示に使用されます。
出力:
これは System.Collections.Generic 名前空間のコレクションです。
コード:
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Collections { class Program { static void Main(string[] args) { var value = new List<string>(); // list collection value.Add("Cricket"); // add element value.Add("Football"); value.Add("Volleyball"); value.Add("Hockey"); value.Add("Basketball"); value.Add("Tennis"); value.Remove("Football"); // remove element value.Remove("Tennis"); value.Insert(3, "Badminton"); // insert element foreach (string st in value) { Console.WriteLine(st); Console.ReadLine(); } } } }
上記の例では、コレクションはリスト型です。 Add() メソッドと Remove() メソッドは、それぞれリストに要素を追加またはリストから削除するために使用されます。 Insert() は、リスト内の定義されたインデックスに要素を挿入するためにも使用されます。 Foreach は反復処理と値の表示に使用されます。
出力:
コレクション内のキーと値で構成されます。
コード:
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Collections { class Program { static void Main(string[] args) { var value = new SortedList<string, int>(); // sortedlist collection value.Add("java", 3); // add element value.Add("javascript", 4); value.Add("c-sharp", 5); value.Add("dotnet", 25); value.Add("python", 27); value.Add("typescript", 57); foreach (var pair in value) { Console.WriteLine(pair); Console.ReadLine(); } } } }
上記の例では、コレクションのタイプはsortedlistです。リストにはキーと値のペアが複数あります。これは基本的に、ソートされたキーと値のペアを表します。
出力:
基本的に要素への順次アクセスが可能です。
コード:
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Collections { class Program { static void Main(string[] args) { var value = new LinkedList<int>(); // linkedlist collection value.AddLast(13); // add element value.AddLast(33); value.AddLast(23); value.AddLast(51); value.AddLast(60); value.AddFirst(4); value.AddFirst(6); LinkedListNode<int> node = value.Find(51); // find the node value.AddBefore(node, 40); foreach (int num in value) { Console.WriteLine(num); Console.ReadLine(); } } } }
上記の例では、コレクションのタイプは Linkedlist です。 AddLast() は要素を最後の位置に配置するために使用され、AddFirst() は要素をリストの最初の位置に配置するために使用されます。リンクリストはノードで構成されます。 Find() は、値を検索し、その前に値を配置するために使用されます。
出力:
これは、キーと値の一意のペアで構成されます。
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Collections { class Program { static void Main(string[] args) { var pair = new Dictionary<string, string>(); // dictionary collection pair.Add("in", "India"); // add keys and values pair.Add("af", "Africa"); pair.Add("us", "United States"); pair.Add("ja", "Japan"); pair.Add("ch", "China"); pair.Add("ca", "Canada"); Console.WriteLine("Keys present in the dictionary:"); var key = new List<string>(pair.Keys); foreach (string k in key) { Console.WriteLine("{0}", k); } Console.WriteLine("Values present in the dictionary:"); var value = new List<string>(pair.Values); foreach (string val in value) { Console.WriteLine("{0}", val); } Console.ReadLine(); } } }
上記の例では、コレクションはキーとその値を含む辞書型です。 Foreach はキーと値の反復に使用されます。
出力
後入れ先出し構造に基づいています。キューの最後の要素が最初に削除される要素です。
コード:
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Collections { class Program { static void Main(string[] args) { var value = new Stack<int>(); // stack collection value.Push(10); // adding the element value.Push(40); value.Push(33); value.Push(62); value.Push(48); value.Push(21); value.Push(31); Console.WriteLine(value.Pop()); Console.WriteLine(value.Peek()); Console.WriteLine(); foreach (int item in value) { Console.WriteLine(item); Console.ReadLine(); } } } }
上記の例では、コレクションのタイプはスタックです。 Push() は、要素を先頭に挿入するために使用されます。 Pop() は要素を削除して返すためのもので、Peek() はスタックの最上位の要素を返すためのものです。
出力:
先入れ先出し構造に基づいています。キューの最初の要素が最初に削除される要素です。
コード:
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Collections { class Program {static void Main(string[] args) { var value = new Queue<string>(); // queue collection value.Enqueue("Item 1"); // add element value.Enqueue("Item 2"); value.Enqueue("Item 3"); value.Enqueue("Item 4"); value.Enqueue("Item 5"); value.Enqueue("Item 6"); value.Enqueue("Item 7"); Console.WriteLine(value.Dequeue()); Console.WriteLine(value.Peek()); Console.WriteLine(); foreach (string num in value) { Console.WriteLine(num); Console.ReadLine(); } } } }
上記の例では;コレクションのタイプはキューです。 Enqueue() は、キューの最後に要素を挿入するためのものです。 Dequeue() はキューの先頭から要素を削除するために使用されます。 Peek() は項目を返すために使用されます。
出力:
つまり、コレクションを使用できる方法はたくさんあります。コレクションは配列に似ています。 ここでは配列とは異なり、事前にサイズを定義する必要はありません。
以上がC# のコレクションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。