假設我有這樣一個類
public class Point {
public float x, y, z;
}
我已經創建了這個hashset:
HashSet<Point> H。
如何才能得到H中最大的z元素?它不需要一定使用Linq。
uj5u.com熱心網友回復:
你可以使用Aggregate來模仿MaxBy功能(注意,你需要先檢查集合是否有任何元素):
var maxByZ = H.Aggregate((point, point1) => point.z > point1.z ? point : point1) 。
當.NET 6出來時,它應該有內置的MaxBy。
uj5u.com熱心網友回復:
你可以這樣做:
int maxZ = H.Max(point => point.Z) 。
var maxPointByZ = H.Where(point => point.Z == maxZ).FirstOrDefault()。
這是通過首先檢索集合中Z的最大值來實作的:
H.Max(point2 => point2.Z) /Returns the biggest value of Z in the set
然后通過做一個簡單的where陳述句來獲取Z等于該值的記錄。如果有多個值,它將得到第一個值,所以你可能想提前對可列舉的值進行排序。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/310061.html
標籤:
上一篇:改變Vuetify表頭的風格
下一篇:獲得今天、過去和明天的約會清單
