Home Backend Development C#.Net Tutorial Detailed explanation of the usage of Dictionary in C#

Detailed explanation of the usage of Dictionary in C#

Sep 07, 2017 pm 01:38 PM
.net dictionary

1. To use the Dictionary collection, you need to import the C# generic namespace


 System.Collections.Generic //程序集:mscorlib
Copy after login

2. Description of Dictionary

A mapping from a set of keys (Key) to a set of values ​​(Value). Each added item consists of a value and its related The key composition of the connection

Any key must be unique

The key cannot be a null reference null (Nothing in VB). If the value is a reference type, it can be a null value

Key and Value can be of any type (string, int, custom class, etc.)

3.DictionaryCommon usage: The key type is int, the value type Take string as an example

Create and initialize


##

 Dictionary<int,string> myDictionary=new Dictionary<int,string>();
Copy after login

Add elements


myDictionary.Add(1,"C#");

myDictionary.Add(2,"C++");

myDictionary.Add(3,"ASP.NET");

myDictionary.Add(4,"MVC");
Copy after login

Find elements by Key


if(myDictionary.ContainsKey(1))

{

  Console.WriteLine("Key:{0},Value:{1}","1", myDictionary[1]);

 }
Copy after login

Traverse elements by KeyValuePair


foreach(KeyValuePair<int,string> kvp in myDictionary)

{

    Console.WriteLine("Key = {0}, Value = {1}",kvp.Key, kvp.Value);

}
Copy after login

Only traverse the key Keys attribute


Dictionary<int,string>.KeyCollection keyCol = myDictionary.Keys;foreach(intkeyinkeyCol)

{

  Console.WriteLine("Key = {0}", key);

}
Copy after login

Only traverse the value Valus attribute


Dictionary<int,string>.ValueCollection valueCol = myDictionary.Values;foreach(stringvalueinvalueCol)

{

   Console.WriteLine("Value = {0}", value);

}
Copy after login

Remove the specified key value through the Remove method


myDictionary.Remove(1);if(myDictionary.ContainsKey(1))

{

  Console.WriteLine("Key:{0},Value:{1}","1", myDictionary[1]);

}else{

    Console.WriteLine("不存在 Key : 1"); 

 }
Copy after login

4 .

Explanations of other common properties and methods:


  Comparer:          // 获取用于确定字典中的键是否相等的 IEqualityComparer。
  Count:                 // 获取包含在 Dictionary中的键/值对的数目。
  Item:                    //获取或设置与指定的键相关联的值。
  Keys:                  // 获取包含 Dictionary中的键的集合。
  Values:               // 获取包含 Dictionary中的值的集合。
  Add:                   // 将指定的键和值添加到字典中。
  Clear:                  //从 Dictionary中移除所有的键和值。
  ContainsKey:      //确定 Dictionary是否包含指定的键。
  ContainsValue:   //确定 Dictionary是否包含特定值。             
  GetEnumerator: // 返回循环访问 Dictionary的枚举数。
  GetType:           //  获取当前实例的 Type。 (从 Object 继承。)
  Remove:             //从 Dictionary中移除所指定的键的值。
  ToString:             //返回表示当前 Object的 String。 (从 Object 继承。)
  TryGetValue:      //获取与指定的键相关联的值。
Copy after login

The above is the detailed content of Detailed explanation of the usage of Dictionary in C#. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Share several .NET open source AI and LLM related project frameworks Share several .NET open source AI and LLM related project frameworks May 06, 2024 pm 04:43 PM

The development of artificial intelligence (AI) technologies is in full swing today, and they have shown great potential and influence in various fields. Today Dayao will share with you 4 .NET open source AI model LLM related project frameworks, hoping to provide you with some reference. https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel is an open source software development kit (SDK) designed to integrate large language models (LLM) such as OpenAI, Azure

What are the employment prospects of C#? What are the employment prospects of C#? Oct 19, 2023 am 11:02 AM

Whether you are a beginner or an experienced professional, mastering C# will pave the way for your career.

.NET performance optimization technology for developers .NET performance optimization technology for developers Sep 12, 2023 am 10:43 AM

If you are a .NET developer, you must be aware of the importance of optimizing functionality and performance in delivering high-quality software. By making expert use of the provided resources and reducing website load times, you not only create a pleasant experience for your users but also reduce infrastructure costs.

Clear all elements in a dictionary using Dictionary.Clear function in C# Clear all elements in a dictionary using Dictionary.Clear function in C# Nov 18, 2023 pm 01:31 PM

Use the Dictionary.Clear function in C# to clear all elements in the dictionary. Dictionary (dictionary) is one of the commonly used data structures in C#. When it comes to data processing and storage, dictionaries provide a fast and efficient way to find, insert, and delete elements. The Dictionary class in C# is a generic class that uses key-value pairs to store data. In actual development, we often need to clear all elements in the dictionary in order to re-process the data

Performance differences between Java framework and .NET framework Performance differences between Java framework and .NET framework Jun 03, 2024 am 09:19 AM

In terms of high-concurrency request processing, .NETASP.NETCoreWebAPI performs better than JavaSpringMVC. The reasons include: AOT early compilation, which reduces startup time; more refined memory management, where developers are responsible for allocating and releasing object memory.

C# .NET Interview Questions & Answers: Level Up Your Expertise C# .NET Interview Questions & Answers: Level Up Your Expertise Apr 07, 2025 am 12:01 AM

C#.NET interview questions and answers include basic knowledge, core concepts, and advanced usage. 1) Basic knowledge: C# is an object-oriented language developed by Microsoft and is mainly used in the .NET framework. 2) Core concepts: Delegation and events allow dynamic binding methods, and LINQ provides powerful query functions. 3) Advanced usage: Asynchronous programming improves responsiveness, and expression trees are used for dynamic code construction.

C# .NET: Exploring Core Concepts and Programming Fundamentals C# .NET: Exploring Core Concepts and Programming Fundamentals Apr 10, 2025 am 09:32 AM

C# is a modern, object-oriented programming language developed by Microsoft and as part of the .NET framework. 1.C# supports object-oriented programming (OOP), including encapsulation, inheritance and polymorphism. 2. Asynchronous programming in C# is implemented through async and await keywords to improve application responsiveness. 3. Use LINQ to process data collections concisely. 4. Common errors include null reference exceptions and index out-of-range exceptions. Debugging skills include using a debugger and exception handling. 5. Performance optimization includes using StringBuilder and avoiding unnecessary packing and unboxing.

From Web to Desktop: The Versatility of C# .NET From Web to Desktop: The Versatility of C# .NET Apr 15, 2025 am 12:07 AM

C#.NETisversatileforbothwebanddesktopdevelopment.1)Forweb,useASP.NETfordynamicapplications.2)Fordesktop,employWindowsFormsorWPFforrichinterfaces.3)UseXamarinforcross-platformdevelopment,enablingcodesharingacrossWindows,macOS,Linux,andmobiledevices.

See all articles