.NET 字符串操作区分大小写吗?

发布于 2024-08-03 03:19:54 字数 172 浏览 5 评论 0原文

IndexOf("blah") 这样的 .NET 字符串函数是否区分大小写?

据我所知,它们不是,但出于某种原因,我在我的应用程序中看到了错误,其中查询字符串中的文本采用驼峰式大小写(如 UserID),并且我正在测试 IndexOf("userid")

Are .NET string functions like IndexOf("blah") case sensitive?

From what I remember they aren't, but for some reason I am seeing bugs in my app where the text in the query string is in camel case (like UserID) and I'm testing for IndexOf("userid").

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

行至春深 2024-08-10 03:19:55

我想在现有答案中添加一件事(因为您最初询问 ASP.NET):

一些名称/值集合,例如 Request.QueryString 以及可能还有 Request.Form不区分大小写。例如,如果我使用以下 URL 导航到 ASPX 页面

http://server/mypage.aspx?user=admin

,则以下两行都将返回“admin”:

var user1 = Request.QueryString["user"];
var user2 = Request.QueryString["USER"];

One thing I'd like to add to the existing answers (since you were originally asking about ASP.NET):

Some name/value collections, such as the Request.QueryString and probably also Request.Form are not case-sensitive. For example if I navigate to an ASPX page using the following URL

http://server/mypage.aspx?user=admin

then both of the following lines will return "admin":

var user1 = Request.QueryString["user"];
var user2 = Request.QueryString["USER"];
金橙橙 2024-08-10 03:19:55

.NET 字符串比较确实区分大小写。在比较之前,您可以使用 ToUpper() 之类的方法来规范化它们。

.NET string comparisons are indeed case sensitive. You could use things like ToUpper() to normalize things before comparing them.

海的爱人是光 2024-08-10 03:19:55

默认情况下,它们区分大小写,但大多数(如果不是全部)包括 IndexOf 都有一个采用 StringComparison 参数的重载。例如,如果您将

StringComparison.InvariantCultureIgnoreCase 

StringComparison 参数传递给 IndexOf ,它将(顾名思义)忽略大小写差异

As default they are case sensitive but most of them (if not all) including IndexOf has an overload that takes a StringComparison argument. E.g. if you pass

StringComparison.InvariantCultureIgnoreCase 

as the StringComparison argument to IndexOf it will (as the name implies) ignore case differences

离笑几人歌 2024-08-10 03:19:54

是的,字符串函数默认区分大小写。它们通常有一个重载,可以让您指示所需的字符串比较类型。对于 IndexOf 也是如此。要以不区分大小写的方式获取字符串的索引,您可以执行以下操作:

string blaBlah = "blaBlah";
int idx = blaBlah.IndexOf("blah", StringComparison.OrdinalIgnoreCase);

Yes, string functions are case sensitive by default. They typically have an overload that lets you indicate the kind of string comparison you want. This is also true for IndexOf. To get the index of your string, in a case-insensitive way, you can do:

string blaBlah = "blaBlah";
int idx = blaBlah.IndexOf("blah", StringComparison.OrdinalIgnoreCase);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文