Linq基於兩個屬性的分組

2022-05-06 04:06:08 字數 1133 閱讀 1586

1、需求

我們看下面的定義

#region 學生類

//////學生類

/// class

student

//////

姓名

/// public

string name

//////

分數

/// public

float score

//////

科目

/// public

string

subject

}#endregion

我們例項化一組資料

//

例項化一組資料

listlist = new list()

,new student,

new student,

new student,

new student,

new student,

};

將list按照id和name分組,並求分數的和。

2、解決方案

通常的解決解決方案時排序兩次,先用id排一次,再用name排一次。

今天我們採用一種新的方式。採用匿名物件來儲存id,name的物件。具體實現方案如下

//

按照兩個字段進行分組

var group = from item in

list

group item by

new into caca

select

new ;

//將分組資料列印出來

foreach (var item in

group)

,->

", item.key.id, item.key.name, item.sum);

}console.readkey();

解讀上面的**,將new 設定為key,進行檢索。

大功告成

兩個物件屬性的比較

兩個物件的引用比較可以用equal 但是兩個物件的屬性比較就比較麻煩一些,寫乙個方法,僅供參考 1 public static bool propertyequals object aobject1,object aobject2 2 27 28else if vobject1 is list vo...

spring兩個重要屬性

1.lazy init 以上兩個bean,乙個lazy init屬性為true,乙個為false,由什麼區別呢 當ioc容器啟動時,service2會例項化,而service1則不會 但是但容器例項化service2時,service1也被例項化了,為什麼呢,因為service2需要它。也就是說la...

MySQL分頁查詢 分組遇到的兩個問題

一 分頁查詢時排序的字段重複,導致資料重複和丟失 原因 如果列中的多個行具有相同的值order by,則伺服器可以按任何順序自由返回這些行,這些行的排序順序相對於無序列是不確定的。結論 不能依賴mysql的預設排序,排序的字段資料重複可以增加排序的字段,來提高排序的唯一性。資料庫核心月報 mysql...