检查大写/小写查询字符串的最佳方法
本文关键字:最佳 字符串 方法 检查 查询 | 更新日期: 2023-09-27 18:33:00
我有一个问题,我需要从 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.
}
如果你的 QueryString 对象不是字典对象,而是类似 NameValueCollection 的东西......
IDictionary<string, string> queryString = QueryString.AllKeys.ToDictionary(k => k.ToLowerInvariant(), k => QueryString[k]);
你好,它也可以是 TeRriTory,在查询字符串中做一个 .托洛尔()