2013-02-11 73 views
-3

我有兩個字符串,它看起來像這樣:比較字符串用斜槓

字符串= 「C:\ TEMP \ 1.png」

字符串B =「C:\ TEMP \ 1。 png「

那些當然具有相同的含義。 我正在尋找一種方法來知道他們是平等的。

含義,是這樣的:

bool areEqual = false;  
if (a.CompareTo(b) == 0) 
     areEqual = true; 

而對於上面的例子,areEqualtrue

我該怎麼做?

+4

在你問這裏之前,你還嘗試過嗎? – 2013-02-11 14:30:12

+0

我試過了,失敗了,出於某種原因... – Idanis 2013-02-11 14:31:32

+1

@Idanis什麼_reason_? – 2013-02-11 14:32:05

回答

1

使用此代碼

string a = @"C:\xxx\1.png"; 
string b = @"C:\xxx\1.png"; 

bool blnEqule = a == b; 
0

嘗試a.Equals(b) == true或普通a == b它並不重要。

如果您想要爲使用路徑定製代碼,另一種方法是使用FileInfo對象爲您解析該路徑,並檢查它們是否指向相同的文件。

+0

只是一個提示; '.Equals()'方法有一些重載,它在字符串上提供了一些_culture-aware比較_。 – 2013-02-11 14:37:03

2

a == b應該做你想做的。內容(不包括斜槓)不應該對比較有任何影響。

0

其實特定的上下文是什麼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#原型,將爲你節省很多很多的時間。