2012-07-13 48 views
0

不包含出於某種原因,我不能讓這個if語句工作不包含在相同的,如果

if (htmlCode.Contains("Sign out") && !htmlCode.Contains("bye bye")) 
{ 
    // do stuff... 
} 

有沒有什麼辦法讓包含和不包含相同的if語句來工作?

+3

wha不工作?請發佈你正在得到的錯誤... – 2012-07-13 13:22:41

+0

什麼「不起作用」?程序崩潰? ?? – kratenko 2012-07-13 13:22:59

+1

'&&'應該替換爲'||'。 – Lion 2012-07-13 13:23:34

回答

2

首先檢查htmlCode,文本可能會混入一些html標籤或類似的東西,同樣的問題可能與案件,當試圖找到一些字符串中的文本,你應該永遠記住關於CAS ES。

您可以使用.Contains方法或.IndexOf,實際上包含了框架方法的實現是這樣的:

public bool Contains(string value) 
{ 
    return this.IndexOf(value, StringComparison.Ordinal) >= 0; 
} 

對於比較大的字符串,但不知道我會使用的情況:

htmlCode.IndexOf("Sign out", StringComparison.InvariantCultureIgnoreCase); 
htmlCode.IndexOf("Bye bye", StringComparison.InvariantCultureIgnoreCase); 

如果您知道響應會很小,您可以使用.ToLower().ToUpper()

1

嘗試通過轉換大寫或小寫進行比較。

if (htmlCode.ToUpper().Contains("SIGN OUT") && !htmlCode.ToUpper().Contains("BYE BYE")) 
{ 
    // do stuff... 
} 
+0

是的,忘記了改變的情況下,編輯。 – Narendra 2012-07-13 13:27:57

+0

你打我的時間,並建議較高,我建議較低 – HatSoft 2012-07-13 13:28:05

+3

@ HatSoft,[CA1308:規範化字符串大寫](http://msdn.microsoft.com/en-us/library/bb386042.aspx)。 – 2012-07-13 13:29:25

1

您如果子句工作正常

這可能是因爲字符串大小寫

所以我建議的不工作,你做這種方式

if (htmlCode.ToUpper().Contains("Sign out".ToUpper()) && !htmlCode.ToUpper().Contains("bye bye".ToUpper())) 
相關問題