¿Cómo convierto de una variable IEnumerable a una variable int [] en C#?Convierte IEnumerable <int> en int []
12
A
Respuesta
18
utilizar el método de .ToArray()
extensión si usted es capaz de utilizar System.Linq
Si estás en .Net 2, entonces podría acaba de rasgar apagado cómo System.Linq.Enumerable implementa el. ToArray
método de extensión (He levantado el código aquí casi literalmente - ¿necesita una Microsoft®?):
struct Buffer<TElement>
{
internal TElement[] items;
internal int count;
internal Buffer(IEnumerable<TElement> source)
{
TElement[] array = null;
int num = 0;
ICollection<TElement> collection = source as ICollection<TElement>;
if (collection != null)
{
num = collection.Count;
if (num > 0)
{
array = new TElement[num];
collection.CopyTo(array, 0);
}
}
else
{
foreach (TElement current in source)
{
if (array == null)
{
array = new TElement[4];
}
else
{
if (array.Length == num)
{
TElement[] array2 = new TElement[checked(num * 2)];
Array.Copy(array, 0, array2, 0, num);
array = array2;
}
}
array[num] = current;
num++;
}
}
this.items = array;
this.count = num;
}
public TElement[] ToArray()
{
if (this.count == 0)
{
return new TElement[0];
}
if (this.items.Length == this.count)
{
return this.items;
}
TElement[] array = new TElement[this.count];
Array.Copy(this.items, 0, array, 0, this.count);
return array;
}
}
Con esto simplemente puede hacer esto:
public int[] ToArray(IEnumerable<int> myEnumerable)
{
return new Buffer<int>(myEnumerable).ToArray();
}
3
IEnumerable<int> i = new List<int>{1,2,3};
var arr = i.ToArray();
14
llamada ToArray
después de usar una directiva para LINQ:
using System.Linq;
...
IEnumerable<int> enumerable = ...;
int[] array = enumerable.ToArray();
Esto requiere .NET 3.5 o superior. Háganos saber si está en .NET 2.0.
1
IEnumerable to int[] - enumerable.Cast<int>().ToArray();
IEnumerable<int> to int[] - enumerable.ToArray();
1
IEnumerable<int> ints = new List<int>();
int[] arrayInts = ints.ToArray();
siempre y cuando esté utilizando LINQ :)
Cuestiones relacionadas
- 1. Convierte wchar_t en int
- 2. Cómo insertar valor en un IEnumerable <int>?
- 3. Multiplicando todos los valores en IEnumerable <int>
- 4. Convierte Char a Int
- 5. Convierte BitSet a int
- 6. Convierte conjunto de datos para IQueryable <T> o IEnumerable <T>
- 7. ¿Por qué no Cast <double>() funciona en IEnumerable <int>?
- 8. Cómo convertir un IEnumerable <IEnumerable <T>> a un IEnumerable <T>
- 9. Emitir una tabla hash. Llaves en la lista <int> u otra IEnumerable <int>
- 10. IEnumerable <IEnumerable <T>> IEnumerable a <T> usando LINQ
- 11. Obtener un IEnumerable <T> de un IEnumerable <IEnumerable <T>>
- 12. ¿Cómo convierte Java int en un byte?
- 13. Fundir/Convertir IEnumerable <T> en IEnumerable <U>?
- 14. Convertir/Convertir IEnumerable en IEnumerable <T>
- 15. IEnumerable <> to IList <>
- 16. La agrupación de artículos idénticos consecutivos: IEnumerable <T> a IEnumerable <IEnumerable <T>>
- 17. Por qué IEnumerable <T> se define como IEnumerable <out T>, no IEnumerable <T>
- 18. Aplanar IEnumerable <IEnumerable <>>; la comprensión de los genéricos
- 19. Convierte una colección IList <int> en una lista separada por comas
- 20. Convierte una lista <int> en una cadena de enteros unidos?
- 21. Convierte long to two int y viceversa
- 22. NÚMERO: Mysql que convierte Enum a Int
- 23. devolviendo un genérico IEnumerable <T>
- 24. Cómo puedo dividir un IEnumerable <String> en grupos de IEnumerable <string>
- 25. IEnumerable <CustomType> en PowerShell
- 26. "Girar" un IEnumerable <IEnumerable <T>> 90 grados
- 27. Diferencia entre IEnumerable e IEnumerable <T>?
- 28. Problemas para implementar IEnumerable <T>
- 29. convertir IQueryable <int> a <int>
- 30. Cuente con un IEnumerable <dynamic>
utilizar el método .ToArray() Extensión. –
Para el/los infractor (es): para usted puede ser obvio, pero ¿eso merece un DV? Las respuestas a la mayoría de las preguntas son obvias para alguien. – spender
@spender - Como en el programa de juegos del Reino Unido ¿Quién quiere ser millonario? ¡Es solo fácil si sabes la respuesta! No es una mala pregunta, es perfectamente razonable y 5 respuestas dicen que es responsable. Aunque podría calificar para una estafa. –