3
我怎樣才能使這一獨特的工作:的不同之處在Linq查詢
var blockIdMap = (from panelEntry in panelEntries
select new {panelEntry.BlockNo, panelEntry.BlockID})
.Distinct()
.ToDictionary(mc => mc.BlockNo , mc => mc.BlockID);
我需要有塊編號與它的塊標識,因爲我進入他們字典和塊編號應該是唯一的只有唯一條目。 我只想採取第一個。
你總是可以''GroupBy'和BlockNo'然後選擇''First' BlockID'。唯一能夠改變'Distinct'的方法是使用'IEqualityComparer''或者使用一個實現'IEquatable '的類並且重載'GetHashCode'。你不能用匿名類型來完成前者,而且他們對於被鎖定的後者有自己的實現。 –
2012-07-11 11:31:16
@AdamHouldsworth - [編譯器覆蓋GetHashCode和等於匿名類型](http://stackoverflow.com/a/543591/219661) – Jamiec 2012-07-11 11:34:47
@Jamiec我知道,我修改了我的評論,指出你不能將實現更改爲我的初稿不準確。默認實現將考慮所有屬性,而不僅僅是'BlockNo'。 – 2012-07-11 11:35:54