我有大量的字符串,包括許多重複項。重要的是所有的副本都有相同的外殼。所以這集將在測試不及格:確定HashSet <String>是否包含不同的字符串
String[] strings = new String[] { "a", "A", "b", "C", "b" };
....但這個測試將通過:當我通過strings
每個字符串重複
String[] strings = new String[] { "A", "A", "b", "C", "b" };
,我的計劃是如何可以看到A
是不區分大小寫重複的a
(因此失敗),但允許通過重複b
?
你的標題說'HashSet'和你的問題有'數組',是缺少的東西? – Habib 2013-04-29 05:41:51
如果您使用Equals來檢查兩個字符串是否相等,那麼會有一個重載,它會接收一個StringComparison枚舉值。你可能想使用'StringComparison.OrdinalIgnoreCase'。如果您需要使用'HashSet'(或'Dictionary ')使用特定比較,則使用接受「IEqualityComparer 」的實例構造函數構造'HashSet <>'(等等)的實例。在這種情況下,你可能想使用比較器'StringComparer.OrdinalIgnoreCase'。 –
2013-04-29 05:52:21