SortedDictionary コンストラクタ ()とは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > SortedDictionary コンストラクタ ()の意味・解説 

SortedDictionary コンストラクタ ()

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

空で、キーの型の既定の IComparer 実装使用する、SortedDictionary クラス新しインスタンス初期化します。

名前空間: System.Collections.Generic
アセンブリ: System (system.dll 内)
構文構文

Dim instance As New SortedDictionary(Of
 TKey, TValue)
public SortedDictionary ()
public:
SortedDictionary ()
public SortedDictionary ()
public function SortedDictionary ()
解説解説
使用例使用例

文字列キーを含む文字列の空の SortedDictionary作成しAdd メソッド使用していくつかの要素追加するコード例次に示します。この例では、重複するキー追加しようとすると、Add メソッドが ArgumentException をスローすることを示します

このコード例は、SortedDictionary クラストピック取り上げているコード例一部分です。

' Create a new sorted dictionary of strings, with string 
' keys. 
Dim openWith As New SortedDictionary(Of
 String, String)

' Add some elements to the dictionary. There are no 
' duplicate keys, but some of the values are duplicates.
openWith.Add("txt", "notepad.exe")
openWith.Add("bmp", "paint.exe")
openWith.Add("dib", "paint.exe")
openWith.Add("rtf", "wordpad.exe")

' The Add method throws an exception if the new key is 
' already in the dictionary.
Try
    openWith.Add("txt", "winword.exe")
Catch 
    Console.WriteLine("An element with Key = ""txt""
 already exists.")
End Try
// Create a new sorted dictionary of strings, with string
// keys.
SortedDictionary<string, string> openWith
 = 
    new SortedDictionary<string, string>();

// Add some elements to the dictionary. There are no 
// duplicate keys, but some of the values are duplicates.
openWith.Add("txt", "notepad.exe");
openWith.Add("bmp", "paint.exe");
openWith.Add("dib", "paint.exe");
openWith.Add("rtf", "wordpad.exe");

// The Add method throws an exception if the new key is 
// already in the dictionary.
try
{
    openWith.Add("txt", "winword.exe");
}
catch (ArgumentException)
{
    Console.WriteLine("An element with Key = \"txt\" already exists.");
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SortedDictionary ジェネリック クラス
SortedDictionary メンバ
System.Collections.Generic 名前空間
Comparer.Default プロパティ
IComparable ジェネリック インターフェイス
IComparable インターフェイス

SortedDictionary コンストラクタ

SortedDictionary クラス新しインスタンス初期化します。
オーバーロードの一覧オーバーロードの一覧

名前 説明
SortedDictionary () 空で、キーの型の既定の IComparer 実装使用するSortedDictionary クラス新しインスタンス初期化します。
SortedDictionary (ジェネリック IComparer) 空で、指定した IComparer使用してキー比較するSortedDictionary クラス新しインスタンス初期化します。
SortedDictionary (ジェネリック IDictionary) 指定した IDictionary から要素コピーして格納しキーの型の既定IComparer 実装使用するSortedDictionary クラス新しインスタンス初期化します。
SortedDictionary (ジェネリック IDictionary, ジェネリック IComparer) 指定した IDictionary から要素コピーして格納し指定した IComparer 実装使用してキー比較するSortedDictionary クラス新しインスタンス初期化します。
参照参照

関連項目

SortedDictionary ジェネリック クラス
SortedDictionary メンバ
System.Collections.Generic 名前空間
Comparer.Default プロパティ
IComparable ジェネリック インターフェイス
IComparable インターフェイス

SortedDictionary コンストラクタ (ジェネリック IDictionary)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

指定した IDictionary から要素コピーして格納しキーの型の既定の IComparer 実装使用するSortedDictionary クラス新しインスタンス初期化します。

名前空間: System.Collections.Generic
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    dictionary As IDictionary(Of TKey, TValue)
 _
)
Dim dictionary As IDictionary(Of
 TKey, TValue)

Dim instance As New SortedDictionary(Of
 TKey, TValue)(dictionary)
public SortedDictionary (
    IDictionary<TKey,TValue> dictionary
)
public:
SortedDictionary (
    IDictionary<TKey, TValue>^ dictionary
)
public SortedDictionary (
    IDictionary<TKey,TValue> dictionary
)
public function SortedDictionary (
    dictionary : IDictionary<TKey,TValue>
)

パラメータ

dictionary

新しい SortedDictionary に要素コピーされた IDictionary。

例外例外
例外種類条件

ArgumentNullException

dictionarynull 参照 (Visual Basic では Nothing) です。

ArgumentException

dictionary に、1 つ上の重複するキー格納されています。

解説解説
使用例使用例

Dictionary を SortedDictionary(ジェネリック IComparer) コンストラクタに渡すことにより、SortedDictionary使用してDictionary 内の情報並べ替えられたコピー作成する方法次のコード例示します

Imports System
Imports System.Collections.Generic

Public Class Example
    
    Public Shared Sub Main()
 

        ' Create a new Dictionary of strings, with string 
        ' keys.
        Dim openWith As New
 Dictionary(Of String, String)
        
        ' Add some elements to the dictionary. 
        openWith.Add("txt", "notepad.exe")
        openWith.Add("bmp", "paint.exe")
        openWith.Add("dib", "paint.exe")
        openWith.Add("rtf", "wordpad.exe")
        
        ' Create a SortedDictionary of strings with string keys, 
        ' and initialize it with the contents of the Dictionary.
        Dim copy As New
 SortedDictionary(Of String, String)(openWith)

        ' List the sorted contents of the copy.
        Console.WriteLine()
        For Each kvp As
 KeyValuePair(Of String, String)
 In copy
            Console.WriteLine("Key = {0}, Value = {1}",
 _
                kvp.Key, kvp.Value)
        Next kvp

    End Sub

End Class

' This code example produces the following output:
'
'Key = bmp, Value = paint.exe
'Key = dib, Value = paint.exe
'Key = rtf, Value = wordpad.exe
'Key = txt, Value = notepad.exe
using System;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        // Create a new Dictionary of strings, with string keys.
        //
        Dictionary<string, string> openWith
 = 
                                  new Dictionary<string,
 string>();
        
        // Add some elements to the dictionary. 
        openWith.Add("txt", "notepad.exe");
        openWith.Add("bmp", "paint.exe");
        openWith.Add("dib", "paint.exe");
        openWith.Add("rtf", "wordpad.exe");
        
        // Create a SortedDictionary of strings with string keys, 
        // and initialize it with the contents of the Dictionary.
        SortedDictionary<string, string>
 copy = 
                  new SortedDictionary<string,
 string>(openWith);

        // List the contents of the copy.
        Console.WriteLine();
        foreach( KeyValuePair<string, string>
 kvp in copy )
        {
            Console.WriteLine("Key = {0}, Value = {1}", 
               kvp.Key, kvp.Value);
        }
    }
}

/* This code example produces the following output:

Key = bmp, Value = paint.exe
Key = dib, Value = paint.exe
Key = rtf, Value = wordpad.exe
Key = txt, Value = notepad.exe
 */
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

SortedDictionary コンストラクタ (ジェネリック IComparer)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

空で、指定した IComparer使用してキー比較する、SortedDictionary クラス新しインスタンス初期化します。

名前空間: System.Collections.Generic
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    comparer As IComparer(Of TKey) _
)
Dim comparer As IComparer(Of
 TKey)

Dim instance As New SortedDictionary(Of
 TKey, TValue)(comparer)
public SortedDictionary (
    IComparer<TKey> comparer
)
public:
SortedDictionary (
    IComparer<TKey>^ comparer
)
public SortedDictionary (
    IComparer<TKey> comparer
)
public function SortedDictionary (
    comparer : IComparer<TKey>
)

パラメータ

comparer

キー比較時に使用する IComparer 実装キーの型の既定の Comparer を使用する場合null 参照 (Visual Basic では Nothing)。

解説解説

SortedDictionary 内のすべてのキー指定した比較演算子に従って一意である必要があります

SortedDictionary は、キー比較実行するために比較演算子実装を必要としますcomparernull 参照 (Visual Basic では Nothing) の場合、このコンストラクタは、既定ジェネリック等値比較演算子である Comparer.Default を使用します。型 TKey が System.IComparable ジェネリック インターフェイス実装している場合は、既定比較演算子その実装が使用されます。

このコンストラクタは O(1) 操作です。

使用例使用例

現在のカルチャの大文字小文字区別しない比較演算子使って SortedDictionary作成するコード例次に示します。この例では、小文字キーを含む要素大文字キーを含む要素合わせて 4 つの要素追加します次に既存キーとの違い大文字と小文字違いだけであるキーを含む要素追加試行し結果例外キャッチしエラー メッセージ表示します最後に大文字小文字区別しない並べ替え順で要素表示します

Imports System
Imports System.Collections.Generic

Public Class Example
    
    Public Shared Sub Main()
 

        ' Create a new SortedDictionary of strings, with string keys
 
        ' and a case-insensitive comparer for the current culture.
        Dim openWith As New
 SortedDictionary(Of String, String)(
 _
            StringComparer.CurrentCultureIgnoreCase)
        
        ' Add some elements to the dictionary. 
        openWith.Add("txt", "notepad.exe")
        openWith.Add("bmp", "paint.exe")
        openWith.Add("DIB", "paint.exe")
        openWith.Add("rtf", "wordpad.exe")

        ' Try to add a fifth element with a key that is the same 
        ' except for case; this would be allowed with the default
        ' comparer.
        Try
            openWith.Add("BMP", "paint.exe")
        Catch ex As ArgumentException
            Console.WriteLine(vbLf & "BMP is already in the
 dictionary.")
        End Try
        
        ' List the contents of the sorted dictionary.
        Console.WriteLine()
        For Each kvp As
 KeyValuePair(Of String, String)
 In openWith
            Console.WriteLine("Key = {0}, Value = {1}",
 _
                kvp.Key, kvp.Value)
        Next kvp

    End Sub

End Class

' This code example produces the following output:
'
'BMP is already in the dictionary.
'
'Key = bmp, Value = paint.exe
'Key = DIB, Value = paint.exe
'Key = rtf, Value = wordpad.exe
'Key = txt, Value = notepad.exe
using System;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        // Create a new SortedDictionary of strings, with string keys
 
        // and a case-insensitive comparer for the current culture.
        SortedDictionary<string, string>
 openWith = 
                      new SortedDictionary<string,
 string>( 
                          StringComparer.CurrentCultureIgnoreCase);
        
        // Add some elements to the dictionary.
        openWith.Add("txt", "notepad.exe");
        openWith.Add("bmp", "paint.exe");
        openWith.Add("DIB", "paint.exe");
        openWith.Add("rtf", "wordpad.exe");

        // Try to add a fifth element with a key that is the same 
        // except for case; this would be allowed with the default
        // comparer.
        try
        {
            openWith.Add("BMP", "paint.exe");
        }
        catch (ArgumentException)
        {
            Console.WriteLine("\nBMP is already in the dictionary.");
        }
        
        // List the contents of the sorted dictionary.
        Console.WriteLine();
        foreach( KeyValuePair<string, string>
 kvp in openWith )
        {
            Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, 
                kvp.Value);
        }
    }
}

/* This code example produces the following output:

BMP is already in the dictionary.

Key = bmp, Value = paint.exe
Key = DIB, Value = paint.exe
Key = rtf, Value = wordpad.exe
Key = txt, Value = notepad.exe
 */
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

SortedDictionary コンストラクタ (ジェネリック IDictionary, ジェネリック IComparer)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

指定した IDictionary から要素コピーして格納し指定した IComparer 実装使用してキー比較するSortedDictionary クラス新しインスタンス初期化します。

名前空間: System.Collections.Generic
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    dictionary As IDictionary(Of TKey, TValue),
 _
    comparer As IComparer(Of TKey) _
)
Dim dictionary As IDictionary(Of
 TKey, TValue)
Dim comparer As IComparer(Of
 TKey)

Dim instance As New SortedDictionary(Of
 TKey, TValue)(dictionary, comparer)
public SortedDictionary (
    IDictionary<TKey,TValue> dictionary,
    IComparer<TKey> comparer
)
public:
SortedDictionary (
    IDictionary<TKey, TValue>^ dictionary, 
    IComparer<TKey>^ comparer
)
public SortedDictionary (
    IDictionary<TKey,TValue> dictionary, 
    IComparer<TKey> comparer
)
public function SortedDictionary (
    dictionary : IDictionary<TKey,TValue>, 
    comparer : IComparer<TKey>
)

パラメータ

dictionary

新しい SortedDictionary に要素コピーされた IDictionary。

comparer

キー比較時に使用する IComparer 実装キーの型の既定の Comparer を使用する場合null 参照 (Visual Basic では Nothing)。

例外例外
例外種類条件

ArgumentNullException

dictionarynull 参照 (Visual Basic では Nothing) です。

ArgumentException

dictionary に、1 つ上の重複するキー格納されています。

解説解説

SortedDictionary 内のすべてのキーは、指定した比較演算子に従って一意である必要があります。したがって、元の dictionary 内のすべてのキーも、指定した比較演算子に従って一意である必要があります

SortedDictionary は、キー比較実行するために比較演算子実装を必要としますcomparernull 参照 (Visual Basic では Nothing) の場合、このコンストラクタは、既定ジェネリック等値比較演算子である Comparer.Default を使用します。型 TKey が System.IComparable ジェネリック インターフェイス実装している場合は、既定比較演算子その実装が使用されます。

このコンストラクタは O(n log n) 操作です。ここで、ndictionary 内の要素数です。

使用例使用例

DictionarySortedDictionary(ジェネリック IDictionary,ジェネリック IComparer) コンストラクタに渡すことにより、SortedDictionary使用して大文字小文字区別しない Dictionary 内の情報の、大文字小文字区別せず並べ替えられたコピー作成する方法次のコード例示します。この例では、現在のカルチャの大文字小文字区別しない比較演算子使用されます。

Imports System
Imports System.Collections.Generic

Public Class Example
    
    Public Shared Sub Main()
 

        ' Create a new Dictionary of strings, with string keys and
        ' a case-insensitive equality comparer for the current 
        ' culture.
        Dim openWith As New
 Dictionary(Of String, String)(
 _
            StringComparer.CurrentCultureIgnoreCase)
        
        ' Add some elements to the dictionary. 
        openWith.Add("txt", "notepad.exe")
        openWith.Add("Bmp", "paint.exe")
        openWith.Add("DIB", "paint.exe")
        openWith.Add("rtf", "wordpad.exe")
        
        ' List the contents of the Dictionary.
        Console.WriteLine()
        For Each kvp As
 KeyValuePair(Of String, String)
 In openWith
            Console.WriteLine("Key = {0}, Value = {1}",
 _
                kvp.Key, kvp.Value)
        Next kvp

        ' Create a SortedDictionary of strings with string keys and
 a 
        ' case-insensitive equality comparer for the current culture
,
        ' and initialize it with the contents of the Dictionary.
        Dim copy As New
 SortedDictionary(Of String, String)(openWith,
 _
            StringComparer.CurrentCultureIgnoreCase)

        ' List the sorted contents of the copy.
        Console.WriteLine()
        For Each kvp As
 KeyValuePair(Of String, String)
 In copy
            Console.WriteLine("Key = {0}, Value = {1}",
 _
                kvp.Key, kvp.Value)
        Next kvp

    End Sub

End Class

' This code example produces the following output:
'
'Key = txt, Value = notepad.exe
'Key = Bmp, Value = paint.exe
'Key = DIB, Value = paint.exe
'Key = rtf, Value = wordpad.exe
'
'Key = Bmp, Value = paint.exe
'Key = DIB, Value = paint.exe
'Key = rtf, Value = wordpad.exe
'Key = txt, Value = notepad.exe
using System;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        // Create a new Dictionary of strings, with string keys and
        // a case-insensitive equality comparer for the current 
        // culture.
        Dictionary<string, string> openWith
 = 
            new Dictionary<string, string>
                (StringComparer.CurrentCultureIgnoreCase);
        
        // Add some elements to the dictionary. 
        openWith.Add("txt", "notepad.exe");
        openWith.Add("Bmp", "paint.exe");
        openWith.Add("DIB", "paint.exe");
        openWith.Add("rtf", "wordpad.exe");
        
        // List the contents of the Dictionary.
        Console.WriteLine();
        foreach( KeyValuePair<string, string>
 kvp in openWith)
        {
            Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, 
                kvp.Value);
        }

        // Create a SortedDictionary of strings with string keys and
 a 
        // case-insensitive equality comparer for the current culture
,
        // and initialize it with the contents of the Dictionary.
        SortedDictionary<string, string>
 copy = 
                    new SortedDictionary<string,
 string>(openWith, 
                        StringComparer.CurrentCultureIgnoreCase);

        // List the sorted contents of the copy.
        Console.WriteLine();
        foreach( KeyValuePair<string, string>
 kvp in copy )
        {
            Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, 
                kvp.Value);
        }
    }
}

/* This code example produces the following output:

Key = txt, Value = notepad.exe
Key = Bmp, Value = paint.exe
Key = DIB, Value = paint.exe
Key = rtf, Value = wordpad.exe

Key = Bmp, Value = paint.exe
Key = DIB, Value = paint.exe
Key = rtf, Value = wordpad.exe
Key = txt, Value = notepad.exe
 */
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「SortedDictionary コンストラクタ ()」の関連用語

SortedDictionary コンストラクタ ()のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SortedDictionary コンストラクタ ()のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS