• Lunes 23 de Diciembre de 2024, 00:10

Autor Tema:  Borras un array de un string  (Leído 1706 veces)

Serj

  • Nuevo Miembro
  • *
  • Mensajes: 24
    • Ver Perfil
Borras un array de un string
« en: Miércoles 21 de Julio de 2010, 23:09 »
0
Hola a todos!!

Tengo una pequeña duda en una aplicacion que estoy haciendo:

En un momento dado de la aplicacion obtengo un array de String, y despues necesito borrar en ultimo string, no solo borrarlo con "null" sino que el array tenga un string menos.

Obtengo la longitud del array, pero luego no se como borrarlo.
Muchas gracias de antemano.

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: Borras un array de un string
« Respuesta #1 en: Jueves 22 de Julio de 2010, 20:08 »
0
Temo que no es posible hacer lo que dices con los array, el tamaño de los array en C# es estatico, o sea que una vez definido un array de cierto tamaño, no se puede aumentar ni disminuir.

Pero no todo esta perdido, existe otro tipo de datos que si permite aumentar / disminuir dinamicamente su tamaño, estoy hablando de List<>, a continuacion un pequeño ejemplo, espero te sirva:

Código: C#
  1.  
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6.  
  7. namespace ConsoleApplication1
  8. {
  9.     class Program
  10.     {
  11.         static List<string> arregloCadenas;
  12.  
  13.         static void Main(string[] args)
  14.         {
  15.             arregloCadenas = new List<string>();
  16.             arregloCadenas.Add("hola");
  17.             arregloCadenas.Add("que tal");
  18.             for (int i=0; i < arregloCadenas.Count; i++)
  19.                 Console.WriteLine(arregloCadenas[i]);
  20.            
  21.             // Remueve el ultimo elemento de la lista
  22.             arregloCadenas.RemoveAt(arregloCadenas.Count - 1);
  23.             for (int i = 0; i < arregloCadenas.Count; i++)
  24.                 Console.WriteLine(arregloCadenas[i]);
  25.         }
  26.     }
  27. }
  28.  
  29.  

Como puedes ver una ves definido, puedes usarlo con indices, como si se tratara de un array. Tambien puedes usar un ciclo foreach en lugar de un ciclo for para recorrer los elementos de la lista.

Saludos :)

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

morringos

  • Miembro activo
  • **
  • Mensajes: 65
  • Nacionalidad: 00
    • Ver Perfil
Re: Borras un array de un string
« Respuesta #2 en: Viernes 23 de Julio de 2010, 18:34 »
0
Bueno bro, te tengo una posible solución a tu problema redimensionando el arreglo, pero en éste caso, te pongo un ejemplo pero con arreglo de tipo int, lo cual no creo que sea mucho problema hacerlo con tipo string, utilizando el método resize de la clase Array, en el cual se tiene que pasar por referencia el arreglo y especificar el nuevo elemento, esto es considerando que quieras borrar el último elemento, bueno, ahí te va el código, se que no es lo más óptimo y eso.


Código: C#
  1. int[] arreglo = new int[5] { 1, 2, 3, 4, 5 };
  2.             Console.WriteLine("Los elementos del array son: ");
  3.  
  4.             for (int i = 0; i < arreglo.Length; i++)
  5.                  Console.Write("{0} ", arreglo[i]);
  6.            
  7.             Console.WriteLine("nEliminando el último elemento: {0}  ", arreglo[arreglo.Length - 1]);
  8.             Array.Resize(ref arreglo, arreglo.Length-1);
  9.  
  10.             for (int i = 0; i < arreglo.Length;i++ )
  11.                 Console.Write("{0} ", arreglo[i]);
  12.  
  13.             Console.ReadKey();
  14.