需要對.net winforms應用程序不區分大小寫的字符串比較。在我的代碼中比較字符串時不會出現問題,但我需要隨處使用它。 例如:組合框包含從SQL數據填充的項目,其中value成員是大寫字符串,但綁定到此組合框的實體字段允許值(字符串)小寫。其餘元素相同。爲.net winforms應用程序進行字符串比較不區分大小寫
0
A
回答
1
您無法更改.net中字符串的默認比較。 .net是一個區分大小寫的語言。它具有使用不同級別的區分大小寫比較字符串的具體方法,但是(謝天謝地)沒有全局設置。
-1
使用
if (string1.ToLower().Equals(string2.ToLower()))
{
#something
}
沒有代碼,沒有其他意見,我可以爲您提供:/
+1
這不是做的情況下不變的字符串比較,因爲它不必要地分配每個字符串的小寫副本的首選方法。相反,按照[這個答案](https://stackoverflow.com/a/13965429/3744182)的意見,並做'String.Equals(S1,S2,StringComparison.OrdinalIgnoreCase)'。參見[這裏](https://docs.microsoft.com/en-us/dotnet/standard/base-types/best-practices-strings#specifying_string_comparisons_explicitly)的信息;可能OP會希望使用「字符串比較。當前文化IgnoreCase」用於UI目的。 – dbc
1
您可以使用此:
string.Equals(a, b, StringComparison.CurrentCultureIgnoreCase);
或擴展方法:
public static class StringExtensions
{
public static bool Contains(this string source, string value, StringComparison compareMode)
{
if (string.IsNullOrEmpty(source))
return false;
return source.IndexOf(value, compareMode) >= 0;
}
}
和你可以這樣稱呼它:
bool result = "This is a try".Contains("TRY",
StringComparison.InvariantCultureIgnoreCase);
Console.WriteLine(result);
相關問題
- 1. 區分大小寫字符串比較
- 2. 區分大小寫字符串比較
- 3. 如何執行不區分大小寫的字符串比較?
- 4. Go不區分大小寫的字符串比較
- 5. 常量字符串不區分大小寫比較
- 6. 比較不區分大小寫字符串再算上重複
- 7. 不區分大小寫字符串數組比較
- 8. 不區分大小寫比較字符串
- 9. PostgreSQL:不區分大小寫的字符串比較
- 10. 不區分大小寫的字符串比較C++
- 11. c#文件路徑字符串比較不區分大小寫
- 12. Julia不區分大小寫的字符串比較
- 13. 比較字符串不區分大小寫
- 14. F#不區分大小寫字符串比較
- 15. 如何使字符串比較不區分大小寫?
- 16. 對字符串數組進行不區分大小寫排序
- 17. 不區分大小寫的比較字符串與非字符串
- 18. 如何在Python中進行區分大小寫的字符串比較?
- 19. php,mysql:比較字符串 - 區分重音和不區分大小寫
- 20. SQL區分大小寫的字符串比較
- 21. Resharper模式區分大小寫字符串比較
- 22. 與NSString區分大小寫的字符串比較問題
- 23. 如何比較EF中區分大小寫的字符串?
- 24. C#字符串比較忽略區分大小寫HTML標記
- 25. 字符串區分大小寫順序
- 26. 與jQuery不區分大小寫比較?
- 27. 不區分大小寫的字符串比較在C#中不起作用?
- 28. 不區分大小寫的NSString比較
- 29. MVC3:CompareAttribute不區分大小寫比較
- 30. Drools:不區分大小寫比較?
你在做'str1 == str2'某種地方的東西嗎? – TheVillageIdiot
「在我的代碼中比較字符串時不會出現問題,但我需要這個地方。」你能更精確一點嗎?=!你想比較你的代碼之外的字符串? –
有一個例子(結合在組合框的值),它應該是字符串比較 – Dmitry