কম্পিউটার টিউটোরিয়াল

C#-এ Dictionary-এ নির্দিষ্ট ভ্যালু আছে কিনা চেক করা

Dictionary<TKey,TValue>.ContainsValue(TValue) মেথড ব্যবহার করে ডিকশনারিতে নির্দিষ্ট ভ্যালু আছে কিনা চেক করা যায়। এটি O(n) লিনিয়ার সার্চ করে।

উদাহরণ ১: ভ্যালু পাওয়া গেলে

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main() {
        Dictionary<string, string> dict = new Dictionary<string, string>();
        dict.Add("One", "John");
        dict.Add("Two", "Tom");
        dict.Add("Three", "Jacob");
        dict.Add("Four", "Kevin");
        dict.Add("Five", "Nathan");

        Console.WriteLine("Count of elements = " + dict.Count);
        Console.WriteLine("\nKey/value pairs...");
        foreach(KeyValuePair<string, string> res in dict) {
            Console.WriteLine("Key = {0}, Value = {1}", res.Key, res.Value);
        }

        if (dict.ContainsValue("Kevin"))
            Console.WriteLine("Value found!");
        else
            Console.WriteLine("Value isn't in the dictionary!");

        dict.Clear();
        Console.WriteLine("Cleared Key/value pairs...");
        foreach(KeyValuePair<string, string> res in dict) {
            Console.WriteLine("Key = {0}, Value = {1}", res.Key, res.Value);
        }
        Console.WriteLine("Count of elements now = " + dict.Count);
    }
}

আউটপুট

Count of elements = 5
Key/value pairs...
Key = One, Value = John
Key = Two, Value = Tom
Key = Three, Value = Jacob
Key = Four, Value = Kevin
Key = Five, Value = Nathan
Value found!
Cleared Key/value pairs...
Count of elements now = 0

উদাহরণ ২: ভ্যালু পাওয়া যাচ্ছে না

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main() {
        Dictionary<string, string> dict = new Dictionary<string, string>();
        dict.Add("One", "Chris");
        dict.Add("Two", "Steve");
        dict.Add("Three", "Messi");
        dict.Add("Four", "Ryan");
        dict.Add("Five", "Nathan");

        Console.WriteLine("Count of elements = " + dict.Count);
        Console.WriteLine("\nKey/value pairs...");
        foreach(KeyValuePair<string, string> res in dict) {
            Console.WriteLine("Key = {0}, Value = {1}", res.Key, res.Value);
        }

        if (dict.ContainsValue("Angelina"))
            Console.WriteLine("Value found!");
        else
            Console.WriteLine("Value isn't in the dictionary!");

        dict.Clear();
        Console.WriteLine("Cleared Key/value pairs...");
        foreach(KeyValuePair<string, string> res in dict) {
            Console.WriteLine("Key = {0}, Value = {1}", res.Key, res.Value);
        }
        Console.WriteLine("Count of elements now = " + dict.Count);
    }
}

আউটপুট

Count of elements = 5
Key/value pairs...
Key = One, Value = Chris
Key = Two, Value = Steve
Key = Three, Value = Messi
Key = Four, Value = Ryan
Key = Five, Value = Nathan
Value isn't in the dictionary!
Cleared Key/value pairs...
Count of elements now = 0

গুরুত্বপূর্ণ পয়েন্টস

  • ContainsValue — লিনিয়ার সার্চ (O(n)), বড় ডিকশনারিতে ধীর হতে পারে।
  • ContainsKey — O(1) হ্যাশ লুকআপ, খুব ফাস্ট।
  • রিভার্স লুকআপ (ভ্যালু থেকে কী) দরকার হলে আলাদা ডিকশনারি মেইনটেইন করুন।
  1. C# প্রোগ্রাম একটি ক্রমের উপাদানগুলি একটি শর্ত পূরণ করে কিনা তা যাচাই করতে

  2. সি শার্প প্রোগ্রাম: দুটি সিকোয়েন্স একই কিনা তা যাচাই করা

  3. C#-এ আর্মস্ট্রং নম্বর চেক করা

  4. পাইথন প্যান্ডাস - DateOffset মান নরমালাইজড হয়েছে কিনা যাচাই করুন