ホームページ バックエンド開発 C#.Net チュートリアル C#のDictionary辞書クラスのサンプルコードの紹介

C#のDictionary辞書クラスのサンプルコードの紹介

May 07, 2017 am 10:17 AM

説明
名前空間 System.Collection.Generic が含まれている必要があります
ディクショナリ内の各要素は、キーと値のペア (キーと値の 2 つの要素で構成されます) です
キーは一意である必要がありますが、値は一意である必要はありません一意であること
キーと値は任意の型 (例: string、int、カスタム タイプなど) にすることができる
キーを介して値を読み取る時間は O(1) に近い
バイアスキーと値のペア間の順序は定義できません

Usage:

    //定义
    Dictionary<string, string> openWith = new Dictionary<string, string>();
 

    //添加元素
    openWith.Add("txt", "notepad.exe");
    openWith.Add("bmp", "paint.exe");
    openWith.Add("dib", "paint.exe");
    openWith.Add("rtf", "wordpad.exe");
 

    //取值
    Console.WriteLine("For key = \"rtf\", value = {0}.", openWith["rtf"]);
 

    //更改值
    openWith["rtf"] = "winword.exe";
    Console.WriteLine("For key = \"rtf\", value = {0}.", openWith["rtf"]);
 

    //遍历key
    foreach (string key in openWith.Keys)
    {
        Console.WriteLine("Key = {0}", key);
    }
 

    //遍历value
    foreach (string value in openWith.Values)
    {
        Console.WriteLine("value = {0}", value);
    }

    //遍历value, Second Method
    Dictionary<string, string>.ValueCollection valueColl = openWith.Values;
    foreach (string s in valueColl)
    {
        Console.WriteLine("Second Method, Value = {0}", s);
    }

 

    //遍历字典
    foreach (KeyValuePair<string, string> kvp in openWith)
    {
        Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
    }
 

    //添加存在的元素
    try
    {
        openWith.Add("txt", "winword.exe");
    }
    catch (ArgumentException)
    {
        Console.WriteLine("An element with Key = \"txt\" already exists.");
    }
 

    //删除元素
    openWith.Remove("doc");
    if (!openWith.ContainsKey("doc"))
    {
        Console.WriteLine("Key \"doc\" is not found.");
    }
 
    //判断键存在
    if (openWith.ContainsKey("bmp")) // True 
    {
        Console.WriteLine("An element with Key = \"bmp\" exists.");
    }

    //参数为其它类型 
    Dictionary<int, string[]> OtherType = new Dictionary<int, string[]>();
    OtherType.Add(1, "1,11,111".Split(&#39;,&#39;));
    OtherType.Add(2, "2,22,222".Split(&#39;,&#39;));
    Console.WriteLine(OtherType[1][2]);
 

//参数为自定义类型

//首先定义类

    class DouCube
    {
        public int Code { get { return _Code; } set { _Code = value; } } private int _Code;
        public string Page { get { return _Page; } set { _Page = value; } } private string _Page;
    } 

    //然后声明并添加元素
    Dictionary<int, DouCube> MyType = new Dictionary<int, DouCube>();
    for (int i = 1; i <= 9; i++)
    {
        DouCube element = new DouCube();
        element.Code = i * 100;
        element.Page = "http://www.doucube.com/" + i.ToString() + ".html";
        MyType.Add(i, element);
    }

    //遍历元素
    foreach (KeyValuePair<int, DouCube> kvp in MyType)
    {
        Console.WriteLine("Index {0} Code:{1} Page:{2}", kvp.Key, kvp.Value.Code, kvp.Value.Page);
    }
ログイン後にコピー

よく使用されるプロパティ

名前 説明

Comparer ディクショナリ内のキーが等しいかどうかを判断するために使用される IEqualityComparer を取得します。

Count Dictionary に含まれるキーと値のペアの数を取得します。 項目 指定されたキーに関連付けられた値を取得または設定します。
Keys Dictionary 内のキーを含むコレクションを取得します。
Values Dictionary の値を含むコレクションを取得します。

一般的なメソッド
名前 説明
Add 指定されたキーと値を辞書に追加します。
Clear Dictionary からすべてのキーと値を削除します。
ContainsKey Dictionary に指定されたキーが含まれているかどうかを判断します。
ContainsValue Dictionary に特定の値が含まれているかどうかを判断します。
Equals(Object) 指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (Object から継承されます。)
Finalize オブジェクトがガベージ コレクションによってリサイクルされる前にリソースの解放を試行し、他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
GetEnumerator Dictionary を反復処理する列挙子を返します。
GetHashCode は、特定のタイプのハッシュ関数として使用されます。 (Object から継承されます。)
GetObjectData System.Runtime.Serialization.ISerializable インターフェイスを実装し、Dictionary インスタンスをシリアル化するために必要なデータを返します。
GetType 現在のインスタンスのタイプを取得します。 (Object から継承されます。)
MemberwiseClone 現在のオブジェクトの浅いコピーを作成します。 (Object から継承されます。)
OnDeserialization System.Runtime.Serialization.ISerializable インターフェイスを実装し、逆シリアル化の完了後に逆シリアル化イベントをトリガーします。
削除 指定されたキーの値を Dictionary から削除します。
ToString 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
TryGetValue 指定されたキーに関連付けられた値を取得します。

以上がC#のDictionary辞書クラスのサンプルコードの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C# を使用した Active Directory C# を使用した Active Directory Sep 03, 2024 pm 03:33 PM

C# を使用した Active Directory のガイド。ここでは、Active Directory の概要と、C# での動作方法について、構文と例とともに説明します。

C# の乱数ジェネレーター C# の乱数ジェネレーター Sep 03, 2024 pm 03:34 PM

C# の乱数ジェネレーターのガイド。ここでは、乱数ジェネレーターの仕組み、擬似乱数の概念、安全な数値について説明します。

C# データ グリッド ビュー C# データ グリッド ビュー Sep 03, 2024 pm 03:32 PM

C# データ グリッド ビューのガイド。ここでは、SQL データベースまたは Excel ファイルからデータ グリッド ビューをロードおよびエクスポートする方法の例について説明します。

C# のアクセス修飾子 C# のアクセス修飾子 Sep 03, 2024 pm 03:24 PM

C# のアクセス修飾子のガイド。 C# のアクセス修飾子の種類について、例と出力とともに説明しました。

C# シリアル化 C# シリアル化 Sep 03, 2024 pm 03:30 PM

C# シリアル化のガイド。ここでは、C# シリアル化オブジェクトの導入、手順、作業、例についてそれぞれ説明します。

C# のパターン C# のパターン Sep 03, 2024 pm 03:33 PM

C# のパターンのガイド。ここでは、C# のパターンの概要と上位 3 種類について、その例とコード実装とともに説明します。

C# の素数 C# の素数 Sep 03, 2024 pm 03:35 PM

C# の素数ガイド。ここでは、C# における素数の導入と例を、コードの実装とともに説明します。

C# の階乗 C# の階乗 Sep 03, 2024 pm 03:34 PM

C# の Factorial のガイド。ここでは、C# での階乗の概要について、さまざまな例とコード実装とともに説明します。

See all articles