簡體   English   中英

.NET字符串操作區分大小寫嗎?

[英]Are .NET string operations case sensitive?

.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參數,它將(顧名思義)忽略大小寫差異

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM