检查大写/小写查询字符串的最佳方法

rmc*_*rry 7 c# casing query-string

我有一个问题,我需要从网址中提取查询字符串参数.该参数可以是该单词的一个"Territory""territory"其他大/小写变体.虽然以下两种情况如下工作但我想知道是否有更好的方法?

IDictionary<string, string> queryString = HtmlPage.Document.QueryString;

if (queryString.ContainsKey("territory"))
{
    ish.SetDefaultRegion(int.Parse(queryString["territory"]));
    // do something (the same something as below)
}
else if (queryString.ContainsKey("Territory"))
{
    ish.SetDefaultRegion(int.Parse(queryString["Territory"]));
    // do something (the same something as above)
}
Run Code Online (Sandbox Code Playgroud)

我宁愿将查询字符串插入到字典中忽略大小写(即,如果用户意外键入"TERRITORY"此代码会失败,那么我怎样才能测试该单词是否存在而不管大小写?

Cam*_*ron 14

使用不区分大小写的键比较器的字典:

var queryParams = new Dictionary<string, string>(
    HtmlPage.Document.QueryString,
    StringComparer.InvariantCultureIgnoreCase
);

if (queryParams.ContainsKey("territory")) {
    // Covers "territory", "Territory", "teRRitory", etc.
}
Run Code Online (Sandbox Code Playgroud)