亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請教關于Linq:不同的值

請教關于Linq:不同的值

繁華開滿天機 2019-11-05 12:04:11
Linq:不同的值我從XML中設置了以下項:id           category5            15            35            45            35            3我需要這些物品的單獨清單:5            15            35            4在LINQ中,我如何區分類別和ID?
查看完整描述

3 回答

?
叮當貓咪

TA貢獻1776條經驗 獲得超12個贊

你是想在一個以上的領域中脫穎而出嗎?如果是這樣的話,只需使用匿名類型和不同的操作符就可以了:

var query = doc.Elements("whatever")
               .Select(element => new {
                             id = (int) element.Attribute("id"),
                             category = (int) element.Attribute("cat") })
               .Distinct();

如果您試圖獲得“較大”類型的一組不同的值,但只查看一些屬性的子集,用于區分性方面,則您可能需要DistinctBy如在MoreLINQ在……里面DistinctBy.cs:

 public static IEnumerable<TSource> DistinctBy<TSource, TKey>(
     this IEnumerable<TSource> source,
     Func<TSource, TKey> keySelector,
     IEqualityComparer<TKey> comparer)
 {
     HashSet<TKey> knownKeys = new HashSet<TKey>(comparer);
     foreach (TSource element in source)
     {
         if (knownKeys.Add(keySelector(element)))
         {
             yield return element;
         }
     }
 }

(如果你通過null作為比較器,它將使用鍵類型的默認比較器。)



查看完整回答
反對 回復 2019-11-06
  • 3 回答
  • 0 關注
  • 740 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號