.NET字符串操作区分大小写吗?
.NET字符串函数如IndexOf("blah")
区分大小写吗?
从我记得他们不是,但由于某种原因,我看到我的应用程序中的错误,查询字符串中的文本是在驼峰的情况下(如UserID),我正在测试IndexOf("userid")
。
是的,默认情况下,字符串函数区分大小写。 它们通常具有重载,可让您指示所需的字符串比较类型。 对于IndexOf也是如此。 要以不区分大小写的方式获取字符串的索引,您可以执行以下操作:
string blaBlah = "blaBlah"; int idx = blaBlah.IndexOf("blah", StringComparison.OrdinalIgnoreCase);
有一件事我想添加到现有的答案(因为你最初问的是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"];
.NET字符串比较确实区分大小写。 在比较它们之前,您可以使用ToUpper()之类的东西来规范化事物。
默认情况下,它们区分大小写,但大多数(如果不是全部)包括IndexOf都有一个带有StringComparison参数的重载。 例如,如果你通过
StringComparison.InvariantCultureIgnoreCase
作为IndexOf的StringComparison参数,它将(顾名思义)忽略大小写差异
- 在Entity Framework支持的Web API 2 POST调用中返回一个对象以及409 Conflict错误?
- Culture-Invariant区分大小写的字符串比较会在不同的计算机上返回不同的结果
- 改进了IValueConverter – MarkupExtension还是DependencyObject?
- 在C#中定义Windows API接口时,是否必须定义所有成员? 我可以只定义我要使用的方法吗?
- 计算C#中两个日期之间的工作日数
- 如何确定进程是否在C#中管理?
- 如何在azure Web应用程序上部署信号R自主服务器
- 在ASP.NET MVC上提供静态文件(C#)
- 将google idToken替换为本地openId令牌c#
- File.Delete在之前调用Image.FromFile时失败,尽管复制了加载的图像并破坏了原始图像
- .NET 4 MVC 2使用注释警告而不是错误进行validation