编辑
2025-09-22
C#
00

在 C# 开发中,Dictionary<TKey, TValue>(简称 Dictionary)是一种非常常用且高效的数据结构。它也可以帮助我们快速访问、管理大量的键值对。在本文中,我们将结合示例详细介绍 Dictionary 的使用场景、常用操作以及最佳实践,帮助你更好地理解 C# 字典在实际业务中的运用。


什么是 C# Dictionary

Dictionary<TKey, TValue> 是 C# 基础类库中提供的泛型集合类型,用于存储键值对(Key-Value pair)。

  • Key(键):具有唯一性,如果插入重复键,会抛出异常或覆盖视具体情况而定。
  • Value(值):可以重复,不限制唯一性。

Dictionary 的特点

  1. 快速查找

    Dictionary 使用哈希表(Hash Table)实现,能提供平均 O(1) 的查找速度,也就是说,随着元素数量的增多,其访问效率依然较为稳定和高效。

  2. 无序集合

    Dictionary 中元素存储顺序并不一定与插入顺序一致,无法按照加入的顺序来遍历获取,需要注意这一点。

  3. 泛型支持

    Dictionary<TKey, TValue> 支持指定键和值的数据类型,能更好地利用类型安全。

  4. 应用场景广

    • 缓存系统的存储:根据唯一标识(Key)快速检索对象。
    • 数据统计:用键来表示一个标识或名称,值用于存储统计结果或其他信息。
    • 快速查找表:需要在海量数据中快速定位时,非常适用。
    • 配置管理:常用来加载配置项,按键快速检索。
编辑
2025-09-22
C#
00

概念和特点

在 C# 中,List<T> 是一种泛型集合,它提供了一组强大的方法来管理一组有序的对象。列表的特点包括:

  • 动态大小:与数组不同,列表的大小会根据需要动态增长或缩小。
  • 同类型元素:列表中只能包含一种类型的元素,这个类型在声明时通过泛型参数 T 指定。
  • 随机访问:列表支持通过索引快速访问元素。
  • 灵活的操作:列表提供了丰富的方法,如添加、删除、查找、排序等。

应用场景

  • 数据集合管理:当你需要一个可以动态调整大小的数据集合时,列表是一个理想的选择。
  • 数据库查询结果:数据库查询通常返回可变大小的数据集,列表可以方便地存储这些结果。
  • UI元素管理:在用户界面编程中,列表可以用来管理动态的控件集合,如下拉菜单项。

方法与属性

常用方法

  • Add(T item):在列表的末尾添加一个元素。
  • AddRange(IEnumerable<T> collection):添加一个元素集合到列表的末尾。
  • Remove(T item):移除列表中第一个匹配的元素。
  • RemoveAt(int index):移除指定索引处的元素。
  • Clear():移除列表中所有的元素。
  • Contains(T item):判断元素是否在列表中。
  • IndexOf(T item):查找元素在列表中第一次出现的位置。
  • Sort():对列表中的元素进行排序。
  • Reverse():反转列表中的元素顺序。
  • Find(Predicate<T> match):查找符合条件的第一个元素。
  • FindAll(Predicate<T> match):查找符合条件的所有元素。
  • ToArray():将列表转换为数组。
  • Insert(int index, T item):在指定位置插入一个元素。
  • CopyTo(T[] array, int arrayIndex):将列表中的元素复制到数组中。

常用属性

  • Count:获取列表中的元素个数。
  • Capacity:获取或设置列表可以存储的元素总数。
  • Item[int index](索引器):获取或设置指定索引处的元素。
编辑
2025-09-22
C#
00

数组是一种基本的数据结构,用于在单个变量下存储固定大小的相同类型元素的集合。在 C# 中,数组是一种引用类型,可以用于存储多个数据项。

理解数组

数组的定义

数组是一种数据结构,它可以存储一系列相同类型的元素。在 C# 中,数组的索引从 0 开始。

数组的声明

在 C# 中,声明数组的语法如下:

C#
dataType[] arrayName;

例如:

C#
int[] numbers; string[] names;

数组的初始化

数组的初始化可以在声明时进行,也可以在声明后进行。

C#
int[] numbers = new int[5]; // 声明一个包含5个整数的数组 string[] names = { "Alice", "Bob", "Charlie" }; // 声明并初始化一个字符串数组
编辑
2025-09-22
C#
00

在图形编程中,绘制基本形状和计算其属性是一项基础而重要的技能。本文将指导您如何在 Windows Forms 应用程序中使用 GDI+ 绘制一个三角形,并计算出它的三个内角的度数。

绘制三角形

在我们的 Form 中,我们将重写 OnPaint 方法来绘制三角形。这需要我们定义三角形的三个顶点,并使用 Graphics 对象来绘制连接这些顶点的线。

定义顶点

首先,我们定义三角形的三个顶点。这些顶点将是 System.Drawing.Point 类型的实例。

C#
Point point1 = new Point(100, 100); Point point2 = new Point(200, 200); Point point3 = new Point(100, 200);
编辑
2025-09-22
C#
00

GDI+(Graphics Device Interface Plus)是 Microsoft 提供的一个用于二维图形的编程接口,它允许开发者在应用程序中进行图形渲染。在本教程中,我们将学习如何使用 GDI+ 在 C# 中绘制一个矩形,并在矩形旁边显示其尺寸(单位转换为毫米)。最后,我们还将计算矩形的面积并将其输出。

分辨率DPI(每英寸点数)与毫米转换

  1. 获取屏幕DPI:首先,需要获得当前屏幕的DPI设置。这可以通过创建一个Graphics对象并访问其DpiXDpiY属性来完成。通常,水平和垂直DPI是相同的,但是为了更准确,最好分别处理。

  2. 从毫米转换为像素:要将尺寸从毫米转换为像素,可以使用以下公式:

    像素 = (毫米 / 25.4) * DPI

    其中,25.4是一英寸的毫米数(因为DPI是“每英寸点数”)。