2013-04-23 61 views
0

我正在使用一個通用列表,它正在與值重複。我只是想將不同的值添加到列表中。以下是我正在使用的代碼。任何人可以幫助我如何避免重複到列表向通用列表中插入唯一值

foreach (Questionnaire_Response questionnaireResponse in Questionnaire_Response.FindWithQuery(query)) 
{ 
    if (questionnaireResponse.Response_Descr == response) 
    { 
     submitOrderResponseItems.RESP_KEY = questionnaireResponse.Response_Id; 
     submitOrderResponseItems.DESCR = questionnaireResponse.Response_Descr; 
     submitOrderResponseItems.UPDATED_DATE = currentDate; 
     submitOrderResponseItems.UPDATED_TIME = currentDateTime; 
     submitOrderResponse.Add(submitOrderResponseItems); 
    }         
} 
+1

代碼在哪裏? – 2013-04-23 11:51:48

+0

之前添加檢查存在... List.Contains(val) – 2013-04-23 11:52:25

+0

嗨安東尼。我在添加之前檢查過。但是,它將採用當前值並與現有值一起復制。例如,如果列表中有2個現有值意味着,則在下一次迭代中,它會將現有2和當前值重複爲相同。因此,所有3個項目將顯示相同的值 – JackSparrow 2013-04-23 11:59:42

回答

7

如果需要使用HashSet<T>,而不是和一個自定義IEqualityComparer<T>

+2

+1 - A(http://msdn.microsoft.com/en-gb/library/dd412070.aspx)可以使用[的SortedSet如果順序很重要。 – keyboardP 2013-04-23 11:54:02

+1

微笑在你自己的「+1」,:) – David 2013-04-23 11:54:45

+0

@大衛這對答案... ...誠實:d – keyboardP 2013-04-23 11:55:54