C# の SortedDictionary クラスは、SortedDictionary として表されます。これはキーと値のコレクションで構成されます。キーは単語を表し、値は定義を表します。このキーと値のペアはキーとこの SortedDictionary に基づいて並べ替えられます。クラスは System.Collection.Generics 名前空間に属し、SortedDictionary のキーは常に個別で不変であり、null にはなりませんが、値の型が参照型の場合、値は null になる可能性があり、SortedDictionary を使用すると挿入と取得の操作が高速になります。 SortedDictionary クラスのキーと値のペアの取得は KeyValuePair 構造体を使用して行われます。
構文:
SortedDictionary<TKey, TValue>variable_name = new SortedDictionary<TKey, TValue>();
C# の SortedDictionary クラスの動作
- ICollection>、IEnumerable、IReadOnlyCollection>、IEnumerable>、ICollection、IDictionary、 IDictionary、IEnumerable、IReadOnlyDictionaryインターフェイスは SortedDictionary クラスによって実装されます。
- SortedDictionary クラスを使用すると、要素の挿入と要素の削除の操作を高速化できます。
- キーは個別である必要があり、SortedDictionary クラス内に重複キーがあってはなりません。
- キーは一意であり、SortedDictionary クラスでは null になりません。
- 値の型が型参照の場合、値は null であることが許可されます。
- SortedDictionary クラスを使用して、同じタイプのキーと値のペアを保存できます。
- C# の SortedDictionary は本質的に動的です。つまり、SortedDictionary のサイズは必要に応じて増加します。
- ソートは、SortedDictionary クラスによって降順に行われます。
- SortedDictionary クラスが保持できるキーと値のペアの合計数が、SortedDictionary クラスの容量です。
C# SortedDictionary のコンストラクター
C# SortedDictionary のコンストラクターを以下に示します。
1. SortedDictionary()
SortedDictionary クラスのインスタンスは空で初期化され、IComparer の実装がキーの型にデフォルトで使用されます。
2. SortedDictionary(IComparer)
SortedDictionary クラスのインスタンスが空に初期化され、指定された IComparer 実装がキー比較に使用されます。
3. SortedDictionary(IDictionary)
SortedDictionary クラスのインスタンスが初期化されます。このインスタンスは、パラメーターとして指定された IDictionary から取得された要素と、型 key に対してデフォルトで使用される ICompareris の実装で構成されます。
4. SortedDictionary(IDictionary, IComparer)
パラメータとして指定された IDictionary からコピーされた要素で構成される SortedDictionary クラスのインスタンスが初期化され、IComparer の指定された実装がキー比較に使用されます。
C# SortedDictionary のメソッド
以下にメソッドを示します:
-
Add(TKey, TValue): An element with key and value specified as parameters is added into the SortedDictionary using Add(TKey, TValue) method.
-
Remove(Tkey): An element with key specified as parameter is removed from the SortedDictionary using Remove(TKey) method.
-
ContainsKey(TKey): The ContainsKey(TKey) method is used to determine if the key specified as parameter is present in the SortedDictionary.
-
ContainsValue(TValue): The ContainsKey(TValue) method is used to determine if the value specified as parameter is present in the SortedDictionary.
-
Clear(): The clear() method is used to clear all the objects from the SortedDictionary.
-
CopyTo(KeyValuePair[], Int32): The CopyTo(KeyValuePair[], Int32) method is used to copy the elements of the SortedDictionary to the array of KeyValuePair structures specified as the parameter with the array starting from the index specified in the parameter.
-
Equals(Object): The Equals(Object) method is used to determine if the object specified as the parameter is equal to the current object.
-
GetEnumerator(): The GetEnumerator() method is used to return an enumerator which loops through the SortedDictionary.
-
GetHashCode(): The GetHashCode() method is the hash function by default.
-
GetType(): The GetType() method returns the current instance type.
-
MemberwiseClone(): The MemberwiseClone() method is used to create a shallow copy of the current object.
-
ToString():The ToString() method is used to return a string which represents the current object.
-
TryGetValue(TKey, TValue): The TryGetValue(TKey, TValue) method is used to obtain the value associated with key specified as parameter.
Examples
Given below are the examples mentioned:
Example #1
C# program to demonstrate Add method, Remove method, ContainsKey method, ContainsValue method and TryGetValue method of Sorted Dictionary class.
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
//a class called program is defined
public class program
{
//main method is called
public static void Main()
{
//a new sorted dictionary is created with key type int and value type string
SortedDictionary<int, string>st = new SortedDictionary<int, string>();
//Add method is used to add objects to the dictionary
st.Add(30,"India");
st.Add(10,"China");
st.Add(20,"Nepal");
st.Remove(10);
Console.WriteLine("If the key 30 is present?{0}", st.ContainsKey(30));
Console.WriteLine("If the key 20 is present? {0}", st.Contains(new KeyValuePair<int, string>(20, "Nepal")));
//new sorted dictionary of both string key and string value types is defined
SortedDictionary<string, string> st1 = new SortedDictionary<string, string>();
st1.Add("Flag","India");
Console.WriteLine("If the value India is present?{0}", st1.ContainsValue("India"));
string rest;
if(st.TryGetValue(30, out rest))
{
Console.WriteLine("The value of the specified key is {0}", rest);
}
else
{
Console.WriteLine("The specified key is not present.");
}
}
}
Output:
Explanation:
- In the above program, a class called program is defined. Then the main method is called. Then a new sorted dictionary is created with key type int and value type string. Then Add method is used to add objects to the sorted dictionary. Then Remove method is used to remove objects from the sorted dictionary.
- Then new sorted dictionary of both string key and string value types is defined. Then contains value method is used to determine if a certain value is present in the sorted dictionary. Then trygetvalue method is used to obtain the value of a specified key.
Example #2
C# program to demonstrate Add method and Clear method of sorted dictionary class.
Code:
using System;
using System.Collections.Generic;
//a class called check is defined
class check
{
// main method is called
public static void Main()
{
// a new sorted dictionary is created with key type string and value type string
SortedDictionary<string, string> tam = new SortedDictionary<string, string>();
// using add method in dictionary to add the objects to the dictionary
tam.Add("R", "Red");
tam.Add("G", "Green");
tam.Add("Y", "Yellow");
// a foreach loop is used to loop around every key in the dictionary and to obtain each key value
foreach(KeyValuePair<string,string>ra in tam)
{
Console.WriteLine("The key and value pairs is SortedDictionary are = {0} and {1}", ra.Key, ra.Value);
}
//using clear method to remove all the objects from sorted dictionary
tam.Clear();
foreach(KeyValuePair<string,string>tr in tam)
{
Console.WriteLine("The key and value pairs is SortedDictionary are = {0} and {1}", tr.Key, tr.Value);
}
}
}
Output:
Explanation:
- In the above program, check is the class defined. Then main method is called. Then a new sorted dictionary is created with key type string and value type string. Then we have used add method to add the objects to the sorted dictionary.
- Then a for each loop is used to loop around every key in the sorted dictionary to obtain each key value. Then clear method is used to clear the console.
以上がC# ソート辞書の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。