Anoche soñé que lo siguiente era imposible. Pero en el mismo sueño, alguien de SO me dijo lo contrario. Por lo tanto, me gustaría saber si es posible convertir System.Array
aList
Array ints = Array.CreateInstance(typeof(int), 5);
ints.SetValue(10, 0);
ints.SetValue(20, 1);
ints.SetValue(10, 2);
ints.SetValue(34, 3);
ints.SetValue(113, 4);
a
List<int> lst = ints.OfType<int>(); // not working
Array
lo que realmente es,int[]
y luego puedes usarToList
:((int[])ints).ToList();
Respuestas:
Ahórrate un poco de dolor ...
También puede simplemente ...
o...
o...
o...
fuente
IEnumerable<int>
,OfType<int>()
no se requiere.ints.ToList();
es suficienteTambién hay una sobrecarga del constructor para List que funcionará ... Pero supongo que esto requeriría una matriz tipada fuerte.
... para la clase Array
fuente
ToList()
, ¿cuál es más eficiente? ¿O hay alguna diferencia?Array
lugar deint[]
)Curiosamente nadie responde a la pregunta, OP no está utilizando un inflexible
int[]
, sino unaArray
.Tienes que lanzar
Array
lo que realmente es,int[]
y luego puedes usarToList
:Tenga en cuenta que
Enumerable.ToList
llama al constructor de la lista que primero verifica si el argumento se puede convertirICollection<T>
(que implementa una matriz), luego usará elICollection<T>.CopyTo
método más eficiente en lugar de enumerar la secuencia.fuente
Enum.GetValues
devuelve una matriz y esto me ayudó a hacer una lista.El método más simple es:
o
fuente
using System.Linq;
paraToList()
el trabajo.Array
. Necesitas lanzarlo o llamar.Cast<>
primero.En el caso de que desee devolver una matriz de enumeraciones como una lista, puede hacer lo siguiente.
fuente
Puedes hacer esto básicamente:
esta es su matriz, y entonces puede llamar a su nueva lista de esta manera:
También puedes hacer esto para objetos complejos.
fuente
en vb.net solo haz esto
o
fuente
Simplemente puede intentarlo con su código:
Entonces puede usar anyVariable como su código.
fuente
Simplemente use el método existente .. .ToList ();
BESO (MANTÉNGALO SIR SIMPLE)
fuente
Espero que esto sea útil.
obtener valor de cadena
obtener valor entero
fuente