2012-12-05 47 views
0

我有一個IEnumerable變量,我想從中提取一個不同的值。我知道列表中的所有條目都具有相同的值,我只需要獲得該值。在C#中,如何使用LINQ從IEnumerable獲取不同的值?

該方法返回一個IEnumerable。

在IEnumerable的行被定義爲: QuoteCovId AdditionalInterestId AdditionalInterestsAffiliateId AdditionalInterestsLastName AdditionalInterestsBusinessAddrLine1 AdditionalInterestsBusinessCity AdditionalInterestsBusinessState AdditionalInterestsBusinessZip

Sampel的代碼:

  IadditionalInterestData = AdditionalInterestData.GetAdditionalInterests(MasterPkgID, Requestor); 

      // Using linq. 
      var quotes = from ai in IadditionalInterestData 
         select Distinct(ai.QuoteCovId); 

      // Iterate thru to get the 1 value. 
      foreach (int QuoteCovId in quotes) 
      { 
       quoteID = QuoteCovId; 
      } 

回答

2
var quoteId = AdditionalInterestData.GetAdditionalInterests(MasterPkgID, Requestor) 
        .FirstOrDefault().Select(f => f.QuoteCovId); 
+1

+1這個答案的關鍵:「'列表行中的所有條目都具有相同的值,我只需要獲取該值。」這意味着您可以查看第一條記錄,因爲它是與其他人一樣。無需運行復雜的獨特算法。 –

1

但這方法:

AdditionalInterestData.GetAdditionalInterests(MasterPkgID,請求); 返回給我一個IEnumerable,我將在我的應用程序中使用它。這是我需要的。

那麼你的建議還是會給我那個IEnumerable,並且給我的集合中恰好相同的報價值呢?

var quoteId = AdditionalInterestData.GetAdditionalInterests(MasterPkgID,Requestor).FirstOrDefault()。Select(f => f.QuoteCovId);

此外,我剛剛添加您的代碼行,我得到一個錯誤陳述。

+0

首先將它賦值給一個變量:'var data = AdditionalInterestData.GetAdditionalInterests(MasterPkgID,Requestor);'然後用linq:var查詢''quoteId = data.FirstOrDefault()。Select(f => f.QuoteCovId);'Then你仍然可以訪問你的'data'變量。 – bluetoft

相關問題