所以,如果我有一个字典:
Dictionary<string, string> namesDictionary= new Dictionary<string, string>
{
{ "Paola", "Perú" },
{ "Paulanos", "Colombia" },
{ "Paulanas", "Ecuador" },
{ "Pamela", "Venezuela"},
{ "Paulina", "Brasil)"},
{ "Paolann", "Paraguay"}
};
我将使用函数设置String name =“”。
我想在字典键中找到并匹配名称,例如:
如果name =“paola”,它会找到“Paola”,“Perú”而不是“Paolann”,“Paraguay”
如果name =“Paulanoso”只找到{“Paulanos”,“Colombia”}而不是 {“Paulanas”,“厄瓜多尔”},
.NET 2.0 如果有更好的选择,它就没有必要成为字典。
像字符一样的字符:
答案 0 :(得分:2)
如果您不希望密钥匹配区分大小写,可以尝试以下操作;
var collection = new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase);
// fill collection
var value = collection["paola"];
但是,如果您必须在密钥中将Paulanoso
与Paulanos
匹配,则需要使用匹配规则实施自定义字符串比较器。
答案 1 :(得分:1)
据我了解您的匹配标准:
var result = namesDictionary
.FirstOrDefault(kv => kv.Key.Contains(name) || name.Contains(kv.Key)).Key;