Por lo tanto, IEnumerable usa la interfaz IComparable para evaluar una llamada a .Min(). Tengo problemas para encontrar si los tipos que aceptan nulo admiten esto. Suponiendo que tengo una lista de int ?, {null, 1, 2}. ¿Funcionará .Min()?¿Cómo maneja IEnumerable .Min los tipos anulables?
7
A
Respuesta
12
Sí, funciona.
El valor null
no es ni mayor que ni menos que cualquier valor no nulo - al menos por el construido en tipos. Por lo tanto, los valores nulos se ignorarán efectivamente en el cálculo Min
o Max
a menos que todos los valores sean null
.
0
Los valores nulos se ignoran:
static void Main()
{
var values = new int?[] { null, 1, 2 };
Console.WriteLine(values.Min());
}
impresiones 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());
}
}
salidas 1. Si la lista es sin embargo empty, or contains only null
, la salida es null
.
Así null
cuenta como el más grande int
para Min
.
Cuestiones relacionadas
- 1. ¿Los tipos de referencia son tipos anulables?
- 2. defecto Modelo Carpeta no se une a los tipos anulables en IEnumerable
- 3. ¿Java permite tipos anulables?
- 4. taquigrafía si + tipos anulables (C#)
- 5. Tipos de referencia no anulables
- 6. Comparar tipos anulables en Linq a Sql
- 7. Convert.ChangeType() falla en tipos anulables
- 8. ¿Cómo manejan los tipos anulables los valores nulos con los operadores de comparación?
- 9. que vuelven tipos de cadenas anulables
- 10. El operador + = con tipos anulables en C#
- 11. Alternativas a tipos anulables en C#
- 12. Tipos de variables anulables - miembro .value
- 13. Usando tipos anulables en API públicas
- 14. Uso de tipos anulables en C#
- 15. ¿Qué tipos de datos de C# pueden ser tipos anulables?
- 16. Cómo funcionan las restricciones genéricas scala a tipos anulables
- 17. ¿Cómo se implementan los tipos anulables bajo el capó en .net?
- 18. ¿Cómo maneja la memoria gestionada .net los tipos de valores dentro de los objetos?
- 19. Tipos anulables en datatables/datasets fuertemente tipados: ¿soluciones temporales?
- 20. ¿Cuándo se deben usar tipos anulables en C#?
- 21. Problema con tipos anulables, DBNulls y filas de datos
- 22. JSON: tipos de serialización derivados de IEnumerable
- 23. Excluir tipos de IEnumerable con linq
- 24. Problemas con tipos anulables en una función LINQ
- 25. ¿Puede un método genérico manejar los tipos de valores de referencia y valores anulables?
- 26. ¿Cuál es la razón por la que no todos los tipos de valores son anulables?
- 27. patrón de ReSharper para detectar la aritmética con los tipos anulables
- 28. usando coalescencia operador nulo en los tipos anulables cambia implícita tipo
- 29. Linq2Sql: ¿Tiene HasValue y! = Null, funciona igual para los tipos anulables?
- 30. F #: ¿Por qué los tipos de opciones no son compatibles con los tipos que aceptan nulos?
¿Por qué no escribirlo para averiguarlo? Pero primero acuerde con usted mismo cuál debería ser el resultado. –
Usted está buscando esto: http://msdn.microsoft.com/en-us/library/bb341201.aspx – BoltClock
Puede encontrar esto interesante también: http://msmvps.com/blogs/jon_skeet/archive/2011 /01/09/reimplementing-linq-to-objects-part-29-min-max.aspx – LukeH