Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Kiểm tra ListDictionary có chứa khóa cụ thể trong C#

Giới thiệu

ListDictionary cung cấp phương thức Contains(key) để kiểm tra xem một khóa có tồn tại trong từ điển hay không. Phương thức này trả về true nếu khóa được tìm thấy, ngược lại trả về false.

Ví dụ 1: Kiểm tra khóa trên hai ListDictionary

using System;
using System.Collections;
using System.Collections.Specialized;

public class Demo
{
    public static void Main()
    {
        ListDictionary dict1 = new ListDictionary();
        dict1.Add("A", "Books");
        dict1.Add("B", "Electronics");
        dict1.Add("C", "Smart Wearables");
        dict1.Add("D", "Pet Supplies");
        dict1.Add("E", "Clothing");
        dict1.Add("F", "Footwear");

        Console.WriteLine("Các phần tử trong ListDictionary1...");
        foreach (DictionaryEntry d in dict1)
        {
            Console.WriteLine(d.Key + " " + d.Value);
        }

        ListDictionary dict2 = new ListDictionary();
        dict2.Add("1", "One");
        dict2.Add("2", "Two");
        dict2.Add("3", "Three");
        dict2.Add("4", "Four");
        dict2.Add("5", "Five");
        dict2.Add("6", "Six");

        Console.WriteLine("\nCác cặp khóa-giá trị trong ListDictionary2...");
        IDictionaryEnumerator demoEnum = dict2.GetEnumerator();
        while (demoEnum.MoveNext())
            Console.WriteLine("Key = " + demoEnum.Key + ", Value = " + demoEnum.Value);

        Console.WriteLine("ListDictionary2 có kích thước cố định? = " + dict2.IsFixedSize);
        Console.WriteLine("ListDictionary2 chỉ đọc? = " + dict2.IsReadOnly);
        Console.WriteLine("ListDictionary2 đã đồng bộ? = " + dict2.IsSynchronized);
        Console.WriteLine("ListDictionary2 có khóa '5'? = " + dict2.Contains("5"));
    }
}

Kết quả

Các phần tử trong ListDictionary1...
A Books
B Electronics
C Smart Wearables
D Pet Supplies
E Clothing
F Footwear

Các cặp khóa-giá trị trong ListDictionary2...
Key = 1, Value = One
Key = 2, Value = Two
Key = 3, Value = Three
Key = 4, Value = Four
Key = 5, Value = Five
Key = 6, Value = Six
ListDictionary2 có kích thước cố định? = False
ListDictionary2 chỉ đọc? = False
ListDictionary2 đã đồng bộ? = False
ListDictionary2 có khóa '5'? = True

Ví dụ 2: Kiểm tra khóa không tồn tại

using System;
using System.Collections;
using System.Collections.Specialized;

public class Demo
{
    public static void Main()
    {
        ListDictionary dict = new ListDictionary();
        dict.Add("1", "SUV");
        dict.Add("2", "Sedan");
        dict.Add("3", "Utility Vehicle");
        dict.Add("4", "Compact Car");
        dict.Add("5", "SUV");
        dict.Add("6", "Sedan");
        dict.Add("7", "Utility Vehicle");
        dict.Add("8", "Compact Car");
        dict.Add("9", "Crossover");
        dict.Add("10", "Electric Car");

        Console.WriteLine("Các phần tử trong ListDictionary...");
        foreach (DictionaryEntry d in dict)
        {
            Console.WriteLine(d.Key + " " + d.Value);
        }

        Console.WriteLine("\nListDictionary có kích thước cố định? = " + dict.IsFixedSize);
        Console.WriteLine("ListDictionary chỉ đọc? = " + dict.IsReadOnly);
        Console.WriteLine("ListDictionary đã đồng bộ? = " + dict.IsSynchronized);
        Console.WriteLine("ListDictionary có khóa 'M'? = " + dict.Contains("M"));
    }
}

Kết quả

Các phần tử trong ListDictionary...
1 SUV
2 Sedan
3 Utility Vehicle
4 Compact Car
5 SUV
6 Sedan
7 Utility Vehicle
8 Compact Car
9 Crossover
10 Electric Car
ListDictionary có kích thước cố định? = False
ListDictionary chỉ đọc? = False
ListDictionary đã đồng bộ? = False
ListDictionary có khóa 'M'? = False

Lưu ý

  • Phương thức Contains(key) phân biệt chữ hoa/chữ thường (case-sensitive).
  • ListDictionary phù hợp cho dữ liệu nhỏ (< 10 phần tử); với dữ liệu lớn hơn nên dùng Hashtable hoặc Dictionary<TKey, TValue>.