我有一个需要从URL提取查询字符串参数的问题。参数可以是"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)
}

我宁愿不考虑大小写而将查询字符串插入字典中(即,如果用户不小心键入了"TERRITORY",则此代码将失败,因此,无论大小写如何,我如何才能测试该单词是否存在?

最佳答案

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

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

if (queryParams.ContainsKey("territory")) {
    // Covers "territory", "Territory", "teRRitory", etc.
}

关于c# - 检查大写/小写查询字符串的最佳方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10435920/

10-11 09:07