因此,IEnumerable使用IComparable接口來評估對.Min()的調用。我無法找到可空類型是否支持這一點。假設我有一個int?的列表,{null,1,2}。請問.Min()工作?IEnumerable.Min如何處理Nullable類型?
7
A
回答
12
是的,它的工作原理。
值null
既不大於也不小於任何非空值 - 至少對於內置類型而言。因此,除非所有值均爲null
,否則在計算Min
或Max
時,空值將被有效忽略。
0
空值被忽略:
static void Main()
{
var values = new int?[] { null, 1, 2 };
Console.WriteLine(values.Min());
}
打印1
。
8
using System;
using System.Collections.Generic;
using System.Linq;
public class Test
{
public static void Main()
{
List<int?> l = new List<int?>() {1, null, 2};
Console.WriteLine(l.Min());
}
}
輸出1。然而如果該列表是empty, or contains only null
,輸出是null
。
因此null
計爲爲Min
。
相關問題
- 1. 如何處理SqlDataRecord的Nullable類型
- 2. 使用多級指針類型處理_Nonnull或Nullable
- 3. 如何處理從存儲過程返回的Nullable <T>類型?
- 4. 在FunctionalInterface中處理@Nullable lambda
- 5. System.Data.SqlTypes或NULLABLE本機類型?
- 6. IValidatableObject和Nullable值類型
- 7. 如何處理「類類型重定義」
- 8. 類型處理
- 9. Npgsql的如何處理投類型
- 10. Android:如何處理application/smil MIME類型
- 11. F#如何處理可空類型
- 12. System.Data.SQLite如何處理.NET數據類型?
- 13. 如何處理#VALUE!類型不匹配
- 14. postgres如何處理位數據類型?
- 15. 圍棋 - 如何處理結構類型
- 16. 如何處理外部類型?
- 17. 如何處理數據類型?
- 18. 如何在SQLite中處理blob時處理類型錯誤?
- 19. 如何根據消息類型處理不同的處理?
- 20. 新類型的WHNF是什麼?rseq如何處理新類型?
- 21. 創建新類型時如何處理多個對象類型
- 22. 使用Rcpp :: Nullable與RcppArmadillo類型錯誤
- 23. 如何檢查自定義類型是否設置爲nullable = True
- 24. Nullable <T>類型如何在幕後工作?
- 25. 如何在F#中使用Nullable抽象類型?
- 26. 類型錯誤處理
- 27. MongoDB數據類型處理
- 28. 處理類型不匹配
- 29. JSOUP內容類型處理
- 30. C#Math.Max類型處理
爲什麼不輸入它來查找。但首先要認同結果應該是什麼。 – 2011-03-23 22:47:25
您正在尋找:http://msdn.microsoft.com/en-us/library/bb341201.aspx – BoltClock 2011-03-23 22:48:35
您也可能會發現這一點:http://msmvps.com/blogs/jon_skeet/archive/2011 /01/09/reimplementing-linq-to-objects-part-29-min-max.aspx – LukeH 2011-03-23 22:53:22