C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のDictionaryでContainsValueメソッドを使って値を検索する方法

C#では、Dictionary内に特定の値が存在するかどうかを確認するためにContainsValue()メソッドを使用します。このメソッドは、指定した値がDictionaryに含まれている場合は true を、含まれていない場合は false を返します。

Dictionaryの作成と要素の追加

まず、Dictionaryを作成し、要素を追加しましょう。

Dictionary<string, string> d = new Dictionary<string, string>();
d.Add("keyboard", "One");
d.Add("mouse", "Two");

ContainsValue()メソッドで値を検索する

続いて、ContainsValue()メソッドを使って、特定の値が存在するかどうかをチェックします。

d.ContainsValue("Two");

以下が完全なサンプルコードです。

サンプルコード

using System;
using System.Collections.Generic;
using System.Linq;
class Program {
    static void Main() {
        Dictionary<string, string> d = new Dictionary<string, string>();
        d.Add("keyboard", "One");
        d.Add("mouse", "Two");
        // 値を検索する
        Console.WriteLine(d.ContainsValue("Two"));
    }
}

実行結果

True

補足:ContainsValueとContainsKeyの違い

なお、キーの存在を確認したい場合は ContainsKey() メソッドを使用します。ContainsKey() はハッシュテーブルを利用しているため高速(O(1))ですが、ContainsValue() はすべての値を順番に走査するため、要素数に比例した時間(O(n))がかかる点に注意してください。大きなDictionaryで頻繁に値の検索を行う場合は、パフォーマンスへの影響を考慮するとよいでしょう。

  1. 【C#】String.Join()メソッドで文字列配列を連結する方法

    String.Join()メソッドとはC#のString.Join()メソッドは、文字列配列のすべての要素を1つの文字列に連結するためのメソッドです。各要素の間には、引数で指定した区切り文字(セパレーター)が自動的に挿入されます。たとえば、区切り文字として改行コード「\n」を指定すれば、配列の各要素がそれぞれ別の行に配置された、複数行の文字列を簡単に作成できます。基本的な構文String.Join(\n, starray);第1引数: 要素間に挿入する区切り文字第2引数: 連結対象の文字列配列戻り値: 連結された1つの文字列サンプルコード以下は、5つの文字列要素を持つ配列を改行コードで連結し、

  2. C#で文字列を反転する方法(Array.Reverseの使い方)

    C#で文字列を反転する方法 C#で文字列を逆順に並べ替えたい場合は、Array.Reverse()メソッドを使うのが最も簡単です。文字列はそのままでは直接反転できないため、一度文字配列(char配列)に変換してから反転処理を行います。 文字列を反転するサンプルコード 以下は、文字列を反転して返すカスタムメソッドの例です。ここでは、引数として渡された文字列「Henry」を反転させています。 public static string ReverseFunc(string str) { char[] ch = str.ToCharArray(); Array.Reverse(ch)