一,我們先看看代碼:
string aa = "1,2,3,44"; string cc = "444"; var a = aa.Split(',').Contains("4"); var c = cc.Contains("4"); Console.WriteLine("a輸出" + a); Console.WriteLine("c輸出" + c);
二,我們的輸出結果為:

看到這里是不是很多人都跟我有同樣的疑惑,為什么a是false?我們來看看封裝好的解釋:
1》,對應a輸出

2》,對應c輸出

綜上,我們可以理解為,兩個方法的選着對比源不一樣
1》在a中,我們的源是一整個集合, 通過使用默認的相等比較器確定序列是否包含指定的元素,則是說,這個集合到底有沒包含4這個字符串,44和4判定為不一致,這里的比較點是44和4,而不是44里面的字符和4比較,所以這里的44和4判定為不一致的
2》而在c中,我們可以看到該值指定的字符串對象是否出現在此字符串中,這就是說,44和4的比較是指,4這個字符串時候在44出現過,這時返回的結果就是true了
