我正在尝试不区分大小写地匹配发送到我的 ASP.NET 应用程序的请求 URL,因为机器人或用户可能会错误地请求非规范表单,我需要重定向它们。
哪一种比较模式在语义上是最佳选择?
StringComparison.OrdinalIgnoreCase
StringComparison.InvariantCultureIgnoreCase
StringComparison.CurrentCultureIgnoreCase
Ordinal
可能是限制性的,因为它进行代码点匹配。可能无法解释所有语言变化。CurrentCulture
似乎不适合 URL,因为 URL 不应该是特定于文化的。InvariantCulture
也不完全有意义,因为它代表了地球上不存在的类似英语的文化。我宁愿不将它用于面向用户的字符串,甚至不用于浏览器中的 URL。
哪种模式是正确的?