1. 引言
在 C# 日常开发中,选择合适的容器对程序性能至关重要。DataTable、字典(Dictionary<TKey,TValue>)和树结构(如排序字典、自实现 TreeNode)各有适用场景,但许多开发者在“能不能用”和“好不好用”之间缺乏量化依据。本文将基于同一批模拟数据,从查询、插入、遍历三个维度横向对比这三类结构的性能,并结合内存占用给出选型建议。
2. 准备工作
2.1 测试环境
- .NET 8 / .NET Framework 4.8(文中代码兼容两者)
- BenchmarkDotNet 基准测试工具
- 数据量:1 万 / 10 万 / 100 万条记录,每条记录包含 Id、Name、Age、Score 四个字段
2.2 数据结构定义
- DataTable:使用
System.Data.DataTable,预先添加列并逐行加载数据,通过Select、Find或 LINQ 查询。 - 字典:使用
Dictionary<int, (string Name, int Age, double Score)>,以 Id 为键。 - 树结构:采用
SortedDictionary<int, (string Name, int Age, double Score)>代表红黑树实现,并编写自定义二叉树作为对比。

381

被折叠的 条评论
为什么被折叠?



