Dictionary.ContainsKey StringComparer.Ordinal
本文关键字:Ordinal StringComparer ContainsKey Dictionary | 更新日期: 2023-09-27 18:35:19
我正在使用 .NET 3.5 的 C# 字典。 我创建了一个Dictionary
<string, int
>对象,并传入了StringComparer.Ordinal
相等比较器。 但是,当我执行以下代码时,我没有得到我所期望的:
Dictionary<string, int> theDictionary = new Dictionary<string, int>(StringComparer.Ordinal);
theDictionary.Add("First", 1);
bool exists = theDictionary.ContainsKey("FIRST"); // equals true, when it should not
我在这里没有看到什么?
你确定你没有使用StringComparer.OrdinalIgnoreCase吗?
这段代码使用 C# v3.5 编译器为我打印 false:
using System;
using System.Collections.Generic;
static class Program
{
static void Main()
{
Dictionary<string, int> theDictionary = new Dictionary<string, int>(StringComparer.Ordinal);
theDictionary.Add("First", 1);
bool exists = theDictionary.ContainsKey("FIRST");
Console.WriteLine(exists);
}
}