在 C# 10 .Net 6 中的newMinBy或调用之后是否有内联方式来投影属性?MaxBy
double topPriceInList = prices.MaxBy(h => h.High)."Select(h => h.High)";
Run Code Online (Sandbox Code Playgroud)
当然,Visual Studio 2021 不喜欢我尝试过的任何一个。
MaxBy(this IEnumerable<T>)并且MinBy(this IEnumerable<T>)不返回IEnumerable<T>- 它们返回单个元素(即T),所以只需这样做:
double topPriceInList = prices.MaxBy(h => h.High).High;
Run Code Online (Sandbox Code Playgroud)
也就是说,上面的代码不需要MaxBy,只需使用Max:
double topPriceInList = prices.Max(h => h.High);
// or:
double topPriceInList = prices.Select(h => h.High).Max();
Run Code Online (Sandbox Code Playgroud)
Min,如果源集合为空(或者任何先前的步骤消除了所有元素),Max、MinBy、 和MaxBy都会在运行时抛出异常.WhereMinOrDefault、MaxOrDefault、MaxByOrDefault或MaxByOrDefault,在这种情况下使用空安全导航运算符?.(又名elvis-operator)。
...OrDefault()扩展方法被调用IEnumerable<Nullable<T>>,而不是 IEnumerable<T>因为default(T)值类型永远不会被调用null,这是错误的常见来源。double? topPriceInListOrNull = prices.Select(h => (double?)h.High).MaxOrDefault();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2636 次 |
| 最近记录: |