1
A
回答
2
先選擇一個值然後運行Distinct。
(from item in table
select item.TheSingleValue).Distinct();
如果你想要整個記錄你需要使用group x by into y
。然後您需要找到一個合適的聚合函數,如First
,Max
,Average
或類似的來選擇組中的其他值之一。
from item in table
group item by item.TheSingleValue into g
select new { TheSingleValue = g.Key, OtherValue1 = g.First().OtherValue1, OtherValue2 = g.First().OtherValue2 };
+0
聽起來像OP希望整個記錄被返回,但不僅僅是項目 – LukeH
3
您可以使用庫如morelinq來做到這一點。你會對DistinctBy()
方法感興趣。
var query = records.DistinctBy(record => record.Column);
否則,你可以手工做到這一點。
var query =
from record in records
group record by record.Column into g
select g.First();
+0
如何在第二個查詢中添加順序? –
0
你可以做的IEqualityComparer接口的實現:
public class MyObjectComparer : IEqualityComparer<MyObject>
{
public bool Equals(MyObject x, MyObject y)
{
return x.ColumnNameProperty == y.ColumnNameProperty;
}
public int GetHashCode(MyObject obj)
{
return obj.ColumnNameProperty.GetHashCode();
}
}
並傳遞一個實例爲鮮明方法:
var distinctSource = source.Distinct(new MyObjectComparer());
相關問題
- 1. 爲列值設置別名
- 2. LINQ - 按價值區分?
- 3. LINQ到對象列表區別
- 4. 用Linq-Query設置值?
- 5. 按數據庫列值設置文本
- 6. 設置默認值之間的區別DefaultStyleKey
- 7. 使用JSE(Selenium c#)設置值和文本的區別
- 8. LINQ - 區別被忽略?
- 9. C#LINQ區別(IEqualityComparer)幫助
- 10. Oracle:爲列設置時區
- 11. 按ID分組的LINQ組 - 與命令區別
- 12. MDX:爲列設置別名
- 13. 模擬對象和設置一個值有什麼區別
- 14. 將Linq中的非列屬性值設置爲SQL查詢
- 15. 如何使用LINQ設置表格中每一行的列值?
- 16. 陣列的區別
- 17. 兩種區別獲取區域設置語言的方法android
- 18. 設置按鈕的初始狀態的兩種方式之間的區別
- 19. 設置列值時的StrongTypingException
- 20. 按類別在一行中設置輸入類型文本值
- 21. AngularJs:按類別循環並設置模型值
- 22. 文本區域的RoR設置值
- 23. 如何設置WMD文本區的值
- 24. Linq元素之間的區別,element.value
- 25. linq findlast和其中的區別
- 26. LINQ中兩個「where」之間的區別
- 27. LINQ中總和與總數的區別
- 28. int32.Equals int的區別? == int?對於linq
- 29. asp:按鈕和html按鈕的區別
- 30. Windows中的區域設置列表
你只想回到剛纔的不同列做,或其他值呢? –