C# のコレクション

王林
王林オリジナル
2024-09-03 15:27:48705ブラウズ

コレクションは、クラスの内容の保存と取得のための動的なメモリ割り当てのために C# で使用されるクラスのタイプとして定義でき、複数の操作を実行するために使用できます。 C# では、コレクションは「System.Collections.Generic クラス」、「System.Collections」の形式で機能します。 「並行クラス」と「System.Collections クラス」。ストレージ パターンの観点から見ると、コレクションは配列のデータ構造を複製します。唯一の違いは、配列とは異なり、コレクションは必要なサイズで定義する必要がないことです。

コレクションを操作するには次の 3 つの方法があります

  • System.Collections.Generic クラス
  • System.Collections.Concurrent クラス
  • System.Collections クラス

C# でのコレクションの例

以下は、C# のさまざまなタイプのコレクションの例です:-

例 #1 – ArrayList

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 は反復と値の表示に使用されます。

出力:

C# のコレクション

例 2 – ここではリスト操作を使用します

これは 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 は反復処理と値の表示に使用されます。

出力:

C# のコレクション

例 3 : 並べ替えられたリスト

コレクション内のキーと値で構成されます。

コード:

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です。リストにはキーと値のペアが複数あります。これは基本的に、ソートされたキーと値のペアを表します。

出力:

C# のコレクション

例# 4 : リンクされたリスト

基本的に要素への順次アクセスが可能です。

コード:

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() は、値を検索し、その前に値を配置するために使用されます。

出力:

C# のコレクション

例# 5 – 辞書

これは、キーと値の一意のペアで構成されます。

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 はキーと値の反復に使用されます。

出力

C# のコレクション

例# 6 – スタック

後入れ先出し構造に基づいています。キューの最後の要素が最初に削除される要素です。

コード:

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() はスタックの最上位の要素を返すためのものです。

出力:

C# のコレクション

例# 7 – キュー

先入れ先出し構造に基づいています。キューの最初の要素が最初に削除される要素です。

コード:

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# のコレクション

つまり、コレクションを使用できる方法はたくさんあります。コレクションは配列に似ています。  ここでは配列とは異なり、事前にサイズを定義する必要はありません。

以上がC# のコレクションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。