Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kamus C#

Kamus C#

WBOY
WBOYasal
2024-09-03 15:31:591048semak imbas

Kelas Kamus dalam C# diwakili sebagai Kamus yang merupakan koleksi yang serupa dengan kamus dalam bahasa Inggeris yang terdiri daripada koleksi perkataan dan definisinya disenaraikan dalam susunan abjad dalam lebih daripada satu bahasa tetapi kamus dalam C# terdiri daripada koleksi kunci dan nilai di mana kunci mewakili perkataan dan nilai mewakili definisi. Kamus ini kelas dalam C# tergolong dalam ruang nama System.Collection.Generics dan merupakan kelas koleksi generik dengan Tkey mewakili jenis kunci dan Tvalue mewakili jenis Tvalue dan pembolehubah IDictionary kelas atau Kamus kelas boleh diberikan kepada mana-mana objek dalam kamus.

Sintaks kelas Kamus dalam C# adalah seperti berikut:

IDictionary<TKey, TValue> variable_name = new Dictionary<TKey, TValue>();

atau

Dictionary<TKey, TValue > variable_name = new Dictionary<TKey, TValue >();

Kerja kelas Kamus dalam C#

  • Salah satu kelas penting dalam Ruang nama System.Collections.Generik ialah Dictionary kelas.
  • Struktur data generik diwakili oleh kelas kamus dalam C# yang mengandungi kunci data dan nilai sepadannya. Oleh itu, sebarang jenis data boleh disimpan menggunakan contoh kamus.
  • Sambungan antara muka ICollection ialah antara muka IDictionary.
  • Kaedah Tambah kelas kamus digunakan untuk menyimpan objek dalam contoh kamus.
  • Menggunakan kamus menghapuskan overhed tinju dan membuka kotak.

Pertimbangkan contoh di bawah untuk menerangkan penggunaan kelas Kamus untuk mendapatkan kunci sahaja:

using System;
using System.Collections.Generic;
//a class called program is defined
class program
{
// main method is called
public static void Main()
{
// a new dictionary is created with key type string and value type string
Dictionary<string, string> Dict = new Dictionary<string, string>();
// using add method in dictionary to add the objects to the dictionary
Dict.Add("A", "Karnataka");
Dict.Add("B", "Maharashtra");
Dict.Add("C", "Andra");
Dict.Add("D", "TamilNadu");
Dict.Add("E", "Delhi");
Dict.Add("F", "Goa");
// Finding the number of key value pairs in the dictionary
Console.WriteLine("The number of key value pairs in the dictionary are : " + Dict.Count);
// using the property of keys to get the keys alone from the dictionary
Dictionary<string, string>.KeyCollection key =  Dict.Keys;
// a foreach loop is used to loop around every key in the dictionary and to obtain each key value
foreach(string sh in key)
{
Console.WriteLine("The key is referred as = {0}", sh);
}
}
}

Output program di atas adalah seperti yang ditunjukkan dalam syot kilat di bawah:

Kamus C#

Dalam atur cara di atas, atur cara ialah kelas yang ditakrifkan. Kemudian kaedah utama dipanggil. kamus baharu dicipta dengan rentetan jenis kunci dan rentetan jenis nilai. Kemudian gunakan kaedah tambah dalam kamus untuk menambah objek pada kamus. Kemudian bilangan pasangan nilai kunci dalam kamus ditemui menggunakan kiraan. Kemudian menggunakan sifat kunci, kunci sahaja daripada kamus diekstrak. Kemudian gelung foreach digunakan untuk mengelilingi setiap kunci dalam kamus dan untuk mendapatkan setiap nilai kunci. Output program adalah seperti yang ditunjukkan dalam syot kilat di atas.

Kaedah Kamus C#

Terdapat beberapa kaedah dalam kelas Kamus dalam C#. Mereka ialah:

1. Tambah()

  • Kaedah add() digunakan untuk menambah item pada koleksi kamus.
  • Kaedah add() digunakan untuk menambah pasangan nilai kunci pada koleksi Kamus.
  • Pertimbangkan contoh di bawah untuk menunjukkan kaedah tambah kelas kamus:
using System;
using System.Collections.Generic;
//a class called check is defined
public class Check
{
//main method is called
public static void Main()
{
//a new dictionary is created with key type int and value type string
IDictionary<int, string> str = new Dictionary<int, string>();
//Add method is used to add objects to the dictionary
str.Add(3,"Green");
str.Add(1,"Saffron");
str.Add(2,"White");
str.Add(new KeyValuePair<int, string>(4, "Blue"));
//The number of objects in the dictionary is displayed using count
Console.WriteLine("The number of objects in the given dictionary is: {0} ", str.Count);
}
}

Output program di atas adalah seperti yang ditunjukkan dalam syot kilat di bawah:

Kamus C#

2.  Alih keluar()

Kaedah Remove() digunakan untuk mengalih keluar kejadian pertama item yang ditentukan daripada kamus.

Kaedah remove() digunakan untuk mengalih keluar elemen yang ditentukan bersama-sama dengan kunci daripada objek kamus.

Pertimbangkan contoh di bawah untuk menunjukkan penggunaan kaedah Remove() dalam kelas Kamus:

using System;
using System.Collections.Generic;
//a class called check1 is defined
public class Check1
{
//main method is called
public static void Main()
{
//a new dictionary is created with key type int and value type string
IDictionary<int, string> str1 = new Dictionary<int, string>();
//Add method is used to add objects to the dictionary
str1.Add(3,"Green");
str1.Add(1,"Saffron");
str1.Add(2,"White");
str1.Add(new KeyValuePair<int, string>(4, "Blue"));
str1.Remove(1);
str1.Remove(new KeyValuePair<int, string>(2, "White"));
//The number of objects in the dictionary is displayed using count
Console.WriteLine("The number of objects in the given dictionary is: {0} ", str1.Count);
}
}

Output program di atas adalah seperti yang ditunjukkan dalam syot kilat di bawah:

Kamus C#

3. ContainsKey()

Kaedah ContainsKey() digunakan untuk menyemak sama ada kunci yang diberikan terdapat dalam Kamus

Pertimbangkan program di bawah untuk menunjukkan penggunaan kaedah ContainsKey() dalam kelas Kamus:

using System;
using System.Collections.Generic;
//a class called2 check is defined
public class Check2
{
//main method is called
public static void Main()
{
//a new dictionary is created with key type int and value type string
IDictionary<int, string> str2 = new Dictionary<int, string>();
//Add method is used to add objects to the dictionary
str2.Add(3,"Green");
str2.Add(1,"Saffron");
str2.Add(2,"White");
str2.Add(new KeyValuePair<int, string>(4, "Blue"));
str2.Remove(1);
str2.Remove(new KeyValuePair<int, string>(2, "White"));
Console.WriteLine("If the key 3 is present?{0}", str2.ContainsKey(3));
Console.WriteLine("If the key 2 is present? {0}", str2.Contains(new KeyValuePair<int, string>(2, "White")));
//The number of objects in the dictionary is displayed using count
Console.WriteLine("The number of objects in the given dictionary is: {0} ", str2.Count);
}
}

Output program di atas adalah seperti yang ditunjukkan dalam syot kilat di bawah:

Kamus C#

4. ContainsValue()

Kaedah ContainsValue() digunakan untuk menyemak sama ada nilai yang diberikan terdapat dalam Dictionary

Pertimbangkan program di bawah untuk menunjukkan penggunaan kaedah ContainsValue() dalam kelas Kamus:

using System;
using System.Collections.Generic;
//a class called check3 is defined
public class Check3
{
//main method is called
public static void Main()
{
//a new dictionary is created with key type int and value type string
IDictionary<int, string> str2 = new Dictionary<int, string>();
//Add method is used to add objects to the dictionary
str2.Add(3,"Green");
str2.Add(1,"Saffron");
str2.Add(2,"White");
str2.Add(new KeyValuePair<int, string>(4, "Blue"));
str2.Remove(1);
str2.Remove(new KeyValuePair<int, string>(2, "White"));
Console.WriteLine("If the key 3 is present?{0}", str2.ContainsKey(3));
Console.WriteLine("If the key 2 is present? {0}", str2.Contains(new KeyValuePair<int, string>(2, "White")));
//new dictionary of both string key and string value types is defined
Dictionary<string, string> stri = new Dictionary<string, string>();
stri.Add("Flag","Green");
Console.WriteLine("If the value Green is present?{0}", stri.ContainsValue("Green"));
//The number of objects in the dictionary is displayed using count
Console.WriteLine("The number of objects in the given dictionary is: {0} ", str2.Count);
}
}

Output program di atas adalah seperti yang ditunjukkan dalam syot kilat di bawah:

Kamus C#

5. Jelas()

Kaedah clear() digunakan untuk mengosongkan semua objek dalam kelas kamus.

Pertimbangkan program di bawah untuk menunjukkan penggunaan kaedah ContainsValue() dalam kelas Kamus:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
//a class called check4 is defined
public class Check4
{
//main method is called
public static void Main()
{
//a new dictionary is created with key type int and value type string
IDictionary<int, string> str3 = new Dictionary<int, string>();
//Add method is used to add objects to the dictionary
str3.Add(3,"Green");
str3.Add(1,"Saffron");
str3.Add(2,"White");
str3.Add(new KeyValuePair<int, string>(4, "Blue"));
str3.Remove(1);
str3.Remove(new KeyValuePair<int, string>(2, "White"));
Console.WriteLine("If the key 3 is present?{0}", str3.ContainsKey(3));
Console.WriteLine("If the key 2 is present? {0}", str3.Contains(new KeyValuePair<int, string>(2, "White")));
//new dictionary of both string key and string value types is defined
Dictionary<string, string> stri1 = new Dictionary<string, string>();
stri1.Add("Flag","Green");
Console.WriteLine("If the value Green is present?{0}", stri1.ContainsValue("Green"));
//The number of objects in the dictionary is displayed using count
Console.WriteLine("The number of objects in the given dictionary is: {0} ", str3.Count);
Console.Clear();
}
}

Output program di atas kosong seperti yang ditunjukkan dalam syot kilat di bawah:

Kamus C#

6. TryGetValue()

Kaedah TryGetValue() menyemak sama ada kunci yang diberikan wujud, jika ia tidak wujud ia mengembalikan palsu. Jika kunci yang diberikan wujud, ia mengembalikan benar dan memberikan nilai yang diberikan kepada kunci yang ditentukan.

Consider the below program to demonstrate the usage of TryGetValue() method of Dictionary class:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
//a class called check4 is defined
public class Check4
{
//main method is called
public static void Main()
{
//a new dictionary is created with key type int and value type string
IDictionary<int, string> str3 = new Dictionary<int, string>();
//Add method is used to add objects to the dictionary
str3.Add(3,"Green");
str3.Add(1,"Saffron");
str3.Add(2,"White");
str3.Add(new KeyValuePair<int, string>(4, "Blue"));
str3.Remove(1);
str3.Remove(new KeyValuePair<int, string>(2, "White"));
Console.WriteLine("If the key 3 is present?{0}", str3.ContainsKey(3));
Console.WriteLine("If the key 2 is present? {0}", str3.Contains(new KeyValuePair<int, string>(2, "White")));
//new dictionary of both string key and string value types is defined
Dictionary<string, string> stri1 = new Dictionary<string, string>();
stri1.Add("Flag","Green");
Console.WriteLine("If the value Green is present?{0}", stri1.ContainsValue("Green"));
string res;
if(str3.TryGetValue(4, out res))
{
Console.WriteLine("The value of the specified key is {0}", res);
}
else
{
Console.WriteLine("The specified key is not present.");
}
//The number of objects in the dictionary is displayed using count
Console.WriteLine("The number of objects in the given dictionary is: {0} ", str3.Count);
}
}

The output of the above program is as shown in the snapshot below:

Kamus C#

Conclusion

In this tutorial, we understand the concept of Dictionary class in C# through definition, the syntax of Dictionary class in C#, working of Dictionary class, and their methods through programming examples and their outputs.

Atas ialah kandungan terperinci Kamus C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:C# AsynchronousArtikel seterusnya:C# Asynchronous