Saltar al contenido

Dividir un array en 2 arreglos C#

Basta ya de investigar por todo internet ya que has llegado al sitio necesario, poseemos la solución que deseas pero sin problemas.

Solución:

Puedes usar linq:

firstArray = array.Take(array.Length / 2).ToArray();
secondArray = array.Skip(array.Length / 2).ToArray();

Por qué esto funciona, a pesar de la paridad del original array ¿Talla?

El primer arreglo toma array.Length / 2 elementos, y el segundo se salta el primero array.Length / 2 elementos, significa que no hay ningún conflicto entre estas dos matrices. Por supuesto, si el número de elementos es impar, no podemos dividir el array en dos partes de igual tamaño.

Si desea tener más elementos en la primera mitad (en el caso extraño), haga esto:

firstArray = array.Take((array.Length + 1) / 2).ToArray();
secondArray = array.Skip((array.Length + 1) / 2).ToArray();

string[] words = "apple", "orange", "banana", "pear", "lemon";
int mid = words.Length/2;
string[] first = words.Take(mid).ToArray();
string[] second = words.Skip(mid).ToArray();

Si no quiere/no puede usar LINQ, simplemente puede hacer:

    string[] words =  "apple", "orange", "banana", "pear", "lemon" ;
    string[] firstarray, secondarray;
    int mid = words.Length / 2;
    firstarray = new string[mid];
    secondarray = new string[words.Length - mid];
    Array.Copy(words, 0, firstarray, 0, mid);
    Array.Copy(words, mid, secondarray, 0, secondarray.Length);

Comentarios y puntuaciones de la guía

Si piensas que te ha sido provechoso nuestro artículo, sería de mucha ayuda si lo compartes con otros programadores de este modo contrubuyes a extender nuestra información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *