Dictionary<TKey, TValue> 是一个泛型类,用于表示键值对的集合。(也就是讲一个value和一个唯一的key关联起来) TKey 表示键的类型,TValue 表示值的类型。
// 创建字典
var ages = new Dictionary<string, int>();
可以使用 Add 方法将键值对添加到字典中,并使用索引器([])访问字典中的元素:
public void Test()
{
var scores = new Dictionary<string, int>
{
// 添加键值对
{ "Alice", 20 },
{ "Bob", 30 },
{ "lizzie", 40 }
};
// 访问元素
var myScore = scores["lizzie"];
Console.WriteLine(myScore);
}
使用 ContainsKey 方法可以检查字典中是否存在指定的键:
if (scores.ContainsKey("Alice"))
{
// 键存在
}
可以使用索引器([])来更新字典中的元素:
scores["Bob"] = 90;
使用 Remove 方法可以从字典中删除指定的键值对:
scores.Remove("Alice");
可以使用 foreach 循环遍历字典中的键值对:
foreach (var pair in scores)
{
string name = pair.Key;
int score = pair.Value;
// 处理键值对
}
可以使用 Count 属性获取字典中键值对的数量:
int count = scores.Count;
使用 where 关键字来筛选满足特定条件的元素。
var filteredData = collection.Where(item => item.Property > 10);
使用 orderby 关键字对元素进行排序。
var sortedData = collection.OrderBy(item => item.Property);
使用 select 关键字选择要返回的属性或计算结果。
var projectedData = collection.Select(item => item.Property);
使用聚合方法对数据进行统计计算。
var sum = collection.Sum(item => item.Property);
var count = collection.Count();
var average = collection.Average(item => item.Property);
var min = collection.Min(item => item.Property);
var max = collection.Max(item => item.Property);
使用这些方法查找满足条件的元素。
var firstItem = collection.First(item => item.Property > 5);
var firstOrDefaultItem = collection.FirstOrDefault(item => item.Property > 5);
var singleItem = collection.Single(item => item.Id == 1);
var singleOrDefaultItem = collection.SingleOrDefault(item => item.Id == 1);
使用 group by 关键字将数据按照指定的键进行分组。
var groupedData = collection.GroupBy(item => item.Category);
使用 Join 方法将两个集合中的元素根据指定的键进行连接。
var joinedData = collection1.Join(collection2, item1 => item1.Key, item2 => item2.Key, (item1, item2) => new { item1, item2 });
是LINQ查询语法中的关键字,用于引入一个新的标识符,将查询结果进一步处理或命名。
var wordGroups1 =
from w in words
group w by w[0] into fruitGroup
where fruitGroup.Count() >= 2
select new { FirstLetter = fruitGroup.Key, Words = fruitGroup.Count() };
into fruitGroup 表示将通过 group by 分组的结果命名为 fruitGroup,以便在 where 子句和 select 子句中引用它。