我有兩個字符串,它看起來像這樣:比較字符串用斜槓
字符串= 「C:\ TEMP \ 1.png」
字符串B =「C:\ TEMP \ 1。 png「
那些當然具有相同的含義。 我正在尋找一種方法來知道他們是平等的。
含義,是這樣的:
bool areEqual = false;
if (a.CompareTo(b) == 0)
areEqual = true;
而對於上面的例子,areEqual
將true
。
我該怎麼做?
我有兩個字符串,它看起來像這樣:比較字符串用斜槓
字符串= 「C:\ TEMP \ 1.png」
字符串B =「C:\ TEMP \ 1。 png「
那些當然具有相同的含義。 我正在尋找一種方法來知道他們是平等的。
含義,是這樣的:
bool areEqual = false;
if (a.CompareTo(b) == 0)
areEqual = true;
而對於上面的例子,areEqual
將true
。
我該怎麼做?
使用此代碼
string a = @"C:\xxx\1.png";
string b = @"C:\xxx\1.png";
bool blnEqule = a == b;
嘗試a.Equals(b) == true
或普通a == b
它並不重要。
如果您想要爲使用路徑定製代碼,另一種方法是使用FileInfo
對象爲您解析該路徑,並檢查它們是否指向相同的文件。
只是一個提示; '.Equals()'方法有一些重載,它在字符串上提供了一些_culture-aware比較_。 – 2013-02-11 14:37:03
a == b
應該做你想做的。內容(不包括斜槓)不應該對比較有任何影響。
其實特定的上下文是什麼OP想要的是以下
var a = "C:\\Temp\\1.png";
var b = "C:\\tEmP\\1.PNG";
var isEquals = a.Equals(b, StringComparison.OrdinalIgnoreCase);
Console.WriteLine(isEquals);
假設這是將要在Windows系統上運行時,NTFS系統不區分大小寫。
PS。下載Linqpad做你的C#原型,將爲你節省很多很多的時間。
在你問這裏之前,你還嘗試過嗎? – 2013-02-11 14:30:12
我試過了,失敗了,出於某種原因... – Idanis 2013-02-11 14:31:32
@Idanis什麼_reason_? – 2013-02-11 14:32:05