Puede inicializar una matriz de esta manera:Colección inicialización
int [ ] arr = { 1, 2, 3, 4, 5 };
pero List<T>
no permite esto:
List<int> list = { 1, 2, 3, 4, 5 };
¿Cuál es la razón detrás de esto?
Después de todo ambos permiten esto:
int [ ] arr = new int [ ] { 1, 2, 3, 4, 5 };
List<int> list = new List<int> { 1, 2, 3, 4, 5 };
también por qué no es posible hacer esto con un LinkedList<T>
:?
LinkedList<int> ll = new LinkedList<int>() { 1, 2, 3 };
actualización
Gracias chicos. Acabo de ver las respuestas. Quería elegir varias respuestas, pero no me lo permitió.
¿Por qué LinkedList tiene un método Agregar a través de una implementación explícita? ¿Esto probablemente será arreglado? Porque los problemas como este se convertirán en bolas de nieve cuando se pasen por alto, ¿no?
Heh me ganó, pero en pocas palabras. +1 – Kev
Creo que es un poco extraño, ya que LinkedList (T) acutally tiene un Add-method, implementado para la interfaz ICollection (T). Está implementado explícitamente, por lo que no es público a menos que lance la lista a una ICollection (T), pero creo que debería ser válida. –
Pero no hay forma de convertirlo en ICollection entre crearlo intentando inicializarlo, por lo que la interfaz explícitamente implementada es inútil. He actualizado mi respuesta para aclarar esto. – tvanfosson