You are on page 1of 17

11/7/2016

AprendeCSharp:ColeccionesList,ArrayList
0

Ms Siguienteblog

Crearunblog Acceder

Aprende C
Sharp
Para todo aquel que desee
aprender a programar o
incrementar sus conocimientos
en C#

vie rne s ,12de m arzode 2010

Colecciones List, ArrayList


Las colecciones de clases de C# son un conjunto de clases diseadas especficamente para
agrupar objetos y llevar a cabo tareas con ellos.

Seguidores

Participarenestesitio
GoogleFriendConnect

Miembros(69) Ms

Tanto la listT como la ArrayList y otras clases de la Collections tienen propiedades muy
similares a los arrays de C# (para ms detalles sobre estos busquen nueva el tema Matrices
y confirmen). Una ventaja fundamental de estas clases sobre los arrays es que puedan
crecer y reducir el nmero de objetos almacenados.
La clase listT esta contenida en System.Collections.Generic, mientras que la clase
ArrayList figura en el System.Collections.
La sintaxis para crear una coleccin listT es la siguiente:
Listtiponombre=newListtipo()

Yaeresmiembro?Iniciarsesin

Datos personales

Arc hivo del blog

ArrayList es un objeto creado de una manera similar, aunque sin el argumento de tipo:
ArrayListnombre=newArrayList()

2010 (35)
febrero (16)
marzo (16)

Con esta sintaxis ahora podemos crear una listT denominada listacolores:
Jonathan Nunez

usingSystem
usingSystem.Collections.Generic
publicclassLists
{
staticvoidMain()
{
Liststringlistacolores=newListstring()
}
}
Aadir artculos a las listas
Una vez que una lista se ha creado hay una serie de mtodos que pueden ser llamados a
realizar tareas en la lista. En este caso para agrear elementos a la lista de objetos se utiliza
el mtodo Add(). Ejemplo:

Seguir

Tipos de
instruccion
es
ifelse

Amor por mi familia,


amor por mi
profesin en
general y en
especfico el
desarrollo de
sistemas, vocacin
y me gusta ayudar a
losdems, me gusta
ensear a
losdems.

switch

Ver todo mi perfil

Instrucciones
de salto

do
for
foreach, in
Utilizar
foreach
con
matrices
while

break
continue
goto

ListstringListaColores=newListstring()
ListaColores.Add("Azul")
ListaColores.Add("Rojo")
ListaColores.Add("Verde")
ListaColores.Add("Amarillo")
ListaColores.Add("Morado")

http://aprendecsharp.blogspot.com/2010/03/coleccioneslistarraylist.html

return
Iteradores
M atrices
Colecciones
List,
ArrayList
abril (3)

1/17

11/7/2016

AprendeCSharp:ColeccionesList,ArrayList
2012 (1)

Acceso a los elementos


A los elementos individuales en una lista se puede acceder mediante el ndice del valor de la
partida (teniendo en cuenta que el primer punto del ndice es 0, el segundo ndice 1 y as
sucesivamente). El valor del ndice se encuentra entre corchetes tras el nombre de la lista.
Por ejemplo, para acceder al segundo punto del objeto ListaColores:
Console.WriteLine(ListaColores[1])
Un elemento de la lista puede cambiar su valor de manera similar usando el ndice
combinado con el operador de asignacin. Por ejemplo, para cambiar el color de verde a
mamey:
ListaColores[2]="mamey"

Todos los elementos de una lista se puede acceder mediante un bucle foreach. Por ejemplo:
foreach(stringcolorinListaColores)
{
Console.WriteLine(color)
}
Cuando compilado y ejecutado, el cdigo de salida anterior mostrara todos los colores.

Insercin de artculos en una lista


Anteriormente se utiliz el mtodo Add() para aadir elementos a una lista. El mtodo
Add(), sin embargo, slo aade elementos al final de una lista. A veces es necesario aadir
un nuevo tema en una ubicacin especfica en una lista. Insert() es el mtodo para este fin
especfico. Insert() recibe dos argumentos, un entero que indica el ndice de localizacin de
la insercin y el tema que se incluir en ese lugar. Por ejemplo, para insertar un elemento
en la posicin 2 de la lista seria:
ListaColores.Insert(2,"Blanco")
Ordenando Listas
No hay manera de decirle a C# que ordene automticamente una lista de artculos despues
de aadir. Si los elementos de una lista deben estar siempre ordenados se debe llamar al
metodo Sort una vez se aaden nuevos elementos:
ListaColores.Sort()

Bsqueda de elementos en una lista


Se proveen un buen nmero de mtodos con las clases listas y la ArrayList. El mtodo ms
bsico es el Contains(), en el cual cuando se pide a un objeto ArrayList o List devuelve true
si el tema se encuentra en la lista, o false si no se encuentra.
El IndexOf() devuelve el valor de un ndice de un elemento de la lista. Por ejemplo, el cdigo
siguiente muestra el valor de salida de 2, que es el ndice de la posicin de "Amarillo" en la
cadena:
ListstringListaColores=newListstring()
ListaColores.Add("Red")
ListaColores.Add("Green")
ListaColores.Add("Amarillo")
ListaColores.Add("Morado")
ListaColores.Add("Mamey")
Console.WriteLine(ListaColores.IndexOf("Amarillo"))
Si el elemento no se encuentra en la lista devuelve 1.

http://aprendecsharp.blogspot.com/2010/03/coleccioneslistarraylist.html

2/17

11/7/2016

AprendeCSharp:ColeccionesList,ArrayList
Esta tcnica podra utilizarse para reemplazar un valor con otro. Por ejemplo, sin conocer de
antemano el valor del ndice del "Amarillo" cadena podemos cambiar a "Negro":
ListaColores[ListaColores.IndexOf("Amarillo")]="Negro"
El LastIndexOf() mtodo devuelve el valor del ndice del ltimo elemento de la lista para que
coincida con el punto especificado. Esto es particularmente til cuando la lista contiene
elementos duplicados.
Obtener informacion de una lista
Hay dos miembros de la clase que son tiles para obtener informacin acerca de una lista de
C # o coleccin de objetos ArrayList. La propiedad Capacity puede ser utilizada para
identificar el nmero de artculos que puede almacenar una coleccin sin tener que cambiar
el tamao.
El propiedad Count, por otra parte, identifica cuantos artculos se encuentran actualmente
almacenados en la lista. Por razones obvias, Capacity sera siempre superior a Count.
En los casos en que existe una gran diferencia entre el Count y Capacity los elementos
pueden ser borrados con el mtodo TrimExcess().
Borrado de elementos
Todos los elementos de una lista podrn ser borrados mediante el mtodo Clear():
ListaColores.Clear()
Clear() elimina los elementos de la lista y establece la propiedad Count a cero. La propiedad
Capacity, sin embargo, sigue siendo la misma. Para eliminar la Capacity despues de el
mtodo Clear() hay que llamar a TrimExcess().
Publicado por Jonathan Nunez en 12:02
Reacciones:

bien (0)

muy bien (0)

nitidisimo (1)

Recomendar esto en Google


Etiquetas: ArrayList, Colecciones List

69 comentarios:
El Claro 13 de marzo de 2010, 5:24
JN# Estoy haciendo un proyecto en M icrosoft Visual Basic 2005 Express y cuando abro
un formulario ya creado me aparece en la barra de tarea, eso es cada vez que abro un
formulario.
espero que entienda la pregunta
Responder

JN# 13 de marzo de 2010, 10:15


Tratare de contestar lo que pregunta, mire, cuando usted no quiere que un formulario
se vea en la barra de tareas en runtime simplemente pongale el ShowInTaskbar falso y
listo.
Ejemplo:
FormularioX.ShowInTaskbar = false
Y luego corralo: FormularioX.Show()
Otra cosa, esta pregunta que hace no tiene nada que ver con este tema en donde la has
colocado (List y ArrayList), cuando la pregunta este fuera del tema la debes hacer en la
sesion Preguntas y Solicitudes...
Responder

Juslin 19 de marzo de 2010, 7:16


Profe como redusco la cantida de un objeto almacenado utilizando ArrayList

http://aprendecsharp.blogspot.com/2010/03/coleccioneslistarraylist.html

3/17

11/7/2016

AprendeCSharp:ColeccionesList,ArrayList
Profe como redusco la cantida de un objeto almacenado utilizando ArrayList
Responder

JN# 19 de marzo de 2010, 8:40


Dejeme ver si logro interpretar su pregunta: si se refiere a eliminar elementos
contenidos en un ArrayList para reducir la cantidad de elementos almacenados es
bastante simple, como se explica mas arriba usted puede determinar el indice de un
elimento a traves del metodo IndexOf. Por ejemplo:
int indice = arraylist.IndexOf("elemento");
Una vez especificado el indice a eliminar lo puede hacer sencillamente utilizando el
metodo RemoveAt, asi:
arraylist.RemoveAt(inidce);
Ahora bien si lo que desea es recorrer el ArrayList con un ciclo o bucle para eliminar N
elementos lo puede hacer asi:
for(int i=0;i <arraylist.Count;i++)
arraylist.RemoveAt(indice);
Nota: Con foreach no se puede borrar de la misma forma porque al tener el enumerador
de la coleccion bloqueas las operaciones que afecten al mismo enumerador.
Si su pregunta no fue respondida haganos saber.
Responder

Juslin Paul 19 de marzo de 2010, 9:59


Lo intente asi y ahora se me esta eliminando la constante que declare, osea el valor que
le asigne
Responder

Fernando Alvarez 19 de marzo de 2010, 10:22


Puedes poner el codigo aqui para ver el problema?
Responder

Juslin Paul 19 de marzo de 2010, 12:18


ArrayList.indexOf numbers = new ArrayList();
numbers.Add( 7 );
int numbers = (int)numbers[0];
Responder

Juan Alvarez 19 de marzo de 2010, 12:26


IndexOf es un metodo de un objeto, no un objeto. No puedes instanciar un metodo,
sino un objeto. Tampoco puedes tener objetos distintos con el mismo nombre.
El codigo seria:
Arraylist numbers = new ArrayList();
numbers.Add( 7 );
int number = numbers[0];
number tendria valor de 7.
Responder

Juslin Paul 19 de marzo de 2010, 14:11


Gracias mis hermanos por esta correccion cualquiera cosa les preguntar
Responder

Juslin Paul 26 de marzo de 2010, 8:56


profe: para crear una array x array y asignar un tamao con la constante
Responder

http://aprendecsharp.blogspot.com/2010/03/coleccioneslistarraylist.html

4/17

11/7/2016

AprendeCSharp:ColeccionesList,ArrayList
Responder

Juan Alvarez 26 de marzo de 2010, 9:01


Saludos Paul, podrias ser un poco mas explicito en la pregunta?
Responder

Juslin Paul 26 de marzo de 2010, 10:21


como puedo asignarle un tamao inicindolo con los valores por defecto (en el caso de
enteros)
Responder

JN# 26 de marzo de 2010, 10:56


Vamos a ver si le podemos responder a su pregunta, entiendo que lo que quiere hacer
es
asignarle dimensiones a un arreglo independientemente de su declaracin a travs de un
mtodo
o variables. Ej:
Class Arreglos
{
Public int[,]Arreglo;
public Dimensiones(int X, int Y)
{
Arreglo = new int[X, Y];
}
}
Como puede ver el arreglo arriba esta declarado pero no instanciado con dimensiones
especificas sino mas bien que las mismas se les pasan cuando se llama el metodo.
Consejo: cuando vaya a realizar una pregunta o un comentario siempre analise bien antes
de escribirlo
para que cuando lo escriba sea bien explicito, de esa forma podremos responderle lo
mas satisfactorio posible.
Debe saber que dependiendo de la claridad y presicin de su pregunta ser la respuesta.
Responder

elgordo7030 29 de marzo de 2010, 11:30


mi tocayo JN# como puedo crear en la clase array funciones de bsqueda y
ordenamiento
Responder

Juan Alvarez 29 de marzo de 2010, 11:48


Puedes crear M etodos Extendido para clases ya existente en C#. Google te da
rapidamente la respuesta a tu pregunta.
Responder

JN# 29 de marzo de 2010, 12:42


Te respondere con algunas soluciones que mas o menos me llegan y que usted tambien
puede investigar. M ire para odernar y buscar en arreglos existen diversos metodos,
entre los mas utilizados esta el famoso metodo de burbuja, tambien el binario, etc, ahi
esta tambien el metodo Sort de la clase Array el cual ordena de manor a mayor. Ej.:
string []Arreglo = new string[]{"elemento","elemento","elemento",...}
int i, j = 0;
string aux = "";
for(i=0;i<Arreglo.Length1;i++)
{
for(j=0;j<Arreglo.Lengthi1;j++)
{
//uso el mtodo CompareTo() para determinar si el elemento es menor, igual o mayor
if (Arreglo[j+1].CompareTo(Arreglo[j]) <= 0)

http://aprendecsharp.blogspot.com/2010/03/coleccioneslistarraylist.html

5/17

11/7/2016

AprendeCSharp:ColeccionesList,ArrayList
if (Arreglo[j+1].CompareTo(Arreglo[j]) <= 0)
{
aux=Arreglo[j+1];
Arreglo[j+1]=Arreglo[j];
Arreglo[j]=aux;
}
}
}
//Lo imprimo si quiero ya estando ordenado
for(i = 0; i < Arreglo.Length; i++)
{
Console.WriteLine(i + " : " + Arreglo[i]);
}
Trate de estudiar el metodo CompareTo() y se dara cuenta de otras forams para
utilizarlo, con el mismo podra hacer busquedas tambien.
Responder

JN# 29 de marzo de 2010, 12:51


Tambien hay otras formas de ordenar los arreglos, creo que de hecho hable de eso en el
tema matrices, dije que uno de los metodos que se pueden utilizar de esa clase Array
era el Sort, tambien esta el Reverse que ordena de mayor a menor, etc, etc, etc.
Ejemplito:
//menor a mayor
Array.Sort(ArregloX);
//otro orden
Array.Reverse(ArregloX);
for (int i = 0; i < ArregloX.Length; i++)
{
M essageBox.Show(ArregloX.ToString());
}
Consejo para todos: Como dije nuesto colaborador, hermano y colega Juan Alvarez es
bueno que aprendan a defenderse con Google, el mismo responde cualquier tipo de
pregunta, por lo menos dentro de nuestro campo (Informatica), no deben ser
dependientes de un solo medio nunca, tambien es bueno que compongan con este lugar
que se le construye a ustedes, si ustedes indagan lo suficiente tambien pueden
colaborar con ideas, soluciones, etc.
Responder

JN# 29 de marzo de 2010, 13:07


Otra forma super facil de buscar en un arreglo es comparando los elementos dentro de
las posiciones con un objetivo cualquiera.
Ej:
string objetivo, posicion = "";
Console.WriteLine("Ingrese objetivo que desea buscar en el arreglo:");
elemento = Console.ReadLine();
for (int i = 0; i < 10; i ++)
{
if (arreglo[i] == objetivo)
{
posicion = posicion + ' ' + i;
}
}
Console.WriteLine("El objetivo se encuantra en las posiciones:{0}", posicion);
Console.ReadLine();
Espero que tengan muchas ideas a partir de estos ejemplos, repito, NO se detengan
aqui,INDAGUEN (google, etc, etc.)
Responder

JN# 6 de abril de 2010, 14:12


Este comentario ha sido eliminado por el autor.
Responder

http://aprendecsharp.blogspot.com/2010/03/coleccioneslistarraylist.html

6/17

11/7/2016

AprendeCSharp:ColeccionesList,ArrayList
lilianafernandez02 7 de abril de 2010, 9:46
using system;
using system.collections.generic;
public class list
{
static void main ()
{
list marcascarro = new list ();
{
marcascarro.add("honda");
marcascarro.add ("bmw");
marcascarro.add ("mercedes");
marcascarro.add ("toyota");
marcascarro.add ("misutbishi");
}
}
}
jonathan este ejemplo de lista k le mando esta bien?????
Responder

JN# 7 de abril de 2010, 11:50


Eso es bueno que usted lo haga y lo pruebe en consola por lo menos puesto que desde
ahi cualquier error simple se lo corregiria el mismo VS. A simple vista le diria que la logica
de su ejercicio esta bien, aunque con algunos detallitos no validos y/o no necesarios.
Por ejemplo al usted instanciar el objeto marcascarro usa la clase list con minuscula y es
con L mayuscula, es decir si hace esto en VS lo veria con mucha facilidad, tambien luego
de instanciar ese objeto utiliza una llave ({) como si va a abrir un segmento de codigo
correspondiente a la instanciacion y eso no es necesario en este caso. Copiare su mismo
ejemplo y le quitare o arreglare lo que le acabo de decir:
using system;
using system.collections.generic;
public class list
{
static void main ()
{
List marcascarro = new List();
marcascarro.add("honda");
marcascarro.add ("bmw");
marcascarro.add ("mercedes");
marcascarro.add ("toyota");
marcascarro.add ("misutbishi");
}
}
Responder

lilianafernandez02 7 de abril de 2010, 12:59


profe algunas cosas de sus ejemplo anterior (el de dinosaur, que tiene mas arriba) que
no la entendiendo y me gustaria saberla , como es el caso de esta linea.
Console.WriteLine("\nInsert(2, \"Compsognathus\")");
dinosaurs.Insert(2, "Compsognathus");
no la entiendo y me gustaria saber si en el ejemplo que yo le presento (marcascarro)
puedo insertar de la forma que usted explica al en el tema.
mire quiero saber si asi estaria bien para insertar.
using system;
using system.collections.generic;
public class list
{
static void main ()
{
List marcascarro = new List();
marcascarro.add("honda");
marcascarro.add ("bmw");
marcascarro.add ("mercedes");
marcascarro.add ("toyota");

http://aprendecsharp.blogspot.com/2010/03/coleccioneslistarraylist.html

7/17

11/7/2016

AprendeCSharp:ColeccionesList,ArrayList
marcascarro.add ("toyota");
marcascarro.add ("misutbishi");
marcacarros.insert(3,"daihatsu");
si podria ser de esta forma plis.... respondame
Responder

Fernando Alvarez 7 de abril de 2010, 14:35


Este comentario ha sido eliminado por el autor.
Responder

Fernando Alvarez 7 de abril de 2010, 14:38


Este comentario ha sido eliminado por el autor.
Responder

Fernando Alvarez 7 de abril de 2010, 14:41


Ignora los comentarios anteriores ya que los simbolos < > no salieron.
Primero, te falta definir el tipo de datos de la lista (es decir, la "clase" de los objetos
contenidos en la misma)...la forma correcta de definir una lista es List<tipo> lista = new
List<tipo>(); como est en el ejemplo del ilustrsimo JN#. Segundo, todos los metodos de
clases del framework empiezan por mayusculas (en C# add y Add no es lo mismo).
Tu ejemplo estara correcto de la siguiente forma.
class Program
{
static void M ain(string[] args)
{
List<string> marcascarro = new List<string>();
marcascarro.Add("honda");
marcascarro.Add("bmw");
marcascarro.Add("mercedes");
marcascarro.Add("toyota");
marcascarro.Add("misutbishi");
Console.WriteLine("La lista inicial de carros es:\n");
foreach (string marcacarro in marcascarro)
Console.WriteLine("Carro: " + marcacarro);
marcascarro.Insert(3, "daihatsu");
Console.WriteLine("\nLa lista final de carros es:\n");
foreach (string marcacarro in marcascarro)
Console.WriteLine("Carro: " + marcacarro);
}
}
Este programa da como resultado:
La lista inicial de carros es:
Carro: honda
Carro: bmw
Carro: mercedes
Carro: toyota
Carro: misutbishi
La lista final de carros es:
Carro: honda
Carro: bmw
Carro: mercedes
Carro: daihatsu
Carro: toyota
Carro: misutbishi
Responder

JN# 8 de abril de 2010, 6:54


El ejemplo extraido del M SDN fue corregido ya que en la declaracion del objeto

http://aprendecsharp.blogspot.com/2010/03/coleccioneslistarraylist.html

8/17

11/7/2016

AprendeCSharp:ColeccionesList,ArrayList
El ejemplo extraido del M SDN fue corregido ya que en la declaracion del objeto
dinosaurs no se especificaba el tipo.
using System;
using System.Collections.Generic;
public class Example
{
public static void M ain()
{
List<string>
dinosaurs = new List<string>();
Console.WriteLine("\nCapacity: {0}", dinosaurs.Capacity);
dinosaurs.Add("Tyrannosaurus");
dinosaurs.Add("Amargasaurus");
dinosaurs.Add("M amenchisaurus");
dinosaurs.Add("Deinonychus");
dinosaurs.Add("Compsognathus");
Console.WriteLine();
foreach(string dinosaur in dinosaurs)
{
Console.WriteLine(dinosaur);
}
Console.WriteLine("\nCapacity: {0}", dinosaurs.Capacity);
Console.WriteLine("Count: {0}", dinosaurs.Count);
Console.WriteLine("\nContains(\"Deinonychus\"): {0}",
dinosaurs.Contains("Deinonychus"));
Console.WriteLine("\nInsert(2, \"Compsognathus\")");
dinosaurs.Insert(2, "Compsognathus");
Console.WriteLine();
foreach(string dinosaur in dinosaurs)
{
Console.WriteLine(dinosaur);
}
Console.WriteLine("\ndinosaurs[3]: {0}", dinosaurs[3]);
Console.WriteLine("\nRemove(\"Compsognathus\")");
dinosaurs.Remove("Compsognathus");
Console.WriteLine();
foreach(string dinosaur in dinosaurs)
{
Console.WriteLine(dinosaur);
}
dinosaurs.TrimExcess();
Console.WriteLine("\nTrimExcess()");
Console.WriteLine("Capacity: {0}", dinosaurs.Capacity);
Console.WriteLine("Count: {0}", dinosaurs.Count);
dinosaurs.Clear();
Console.WriteLine("\nClear()");
Console.WriteLine("Capacity: {0}", dinosaurs.Capacity);
Console.WriteLine("Count: {0}", dinosaurs.Count);
}
}
/* Este codigo de ejemplo produce la siguiente salida:
Capacity: 0
Tyrannosaurus
Amargasaurus
M amenchisaurus
Deinonychus
Compsognathus
Capacity: 8
Count: 5
Contains("Deinonychus"): True

http://aprendecsharp.blogspot.com/2010/03/coleccioneslistarraylist.html

9/17

11/7/2016

AprendeCSharp:ColeccionesList,ArrayList
Insert(2, "Compsognathus")
Tyrannosaurus
Amargasaurus
Compsognathus
M amenchisaurus
Deinonychus
Compsognathus
dinosaurs[3]: M amenchisaurus
Remove("Compsognathus")
Tyrannosaurus
Amargasaurus
M amenchisaurus
Deinonychus
Compsognathus
TrimExcess()
Capacity: 5
Count: 5
Clear()
Capacity: 5
Count: 0
Responder

Juan Alvarez 8 de abril de 2010, 7:03


Una gran recomendacion: Dejen que sus codigos expuestos sean evaluados en visual
studio, eso les ahorraria tiempo, ya que les dice explicitamente los errores en su codigo
y no tendrian necesidad de consultar a una entidad externa.
Responder

lilianafernandez02 8 de abril de 2010, 12:06


juan muchas gracias por la correccion, pero es que estaba confundida con el ejemplo
de dinosaurio y pense k no era necesario poner el tipo, pero ya veo que jonathan lo
aclaro, gracias , ahora estoy mas clara
Responder

Liliana 18 de abril de 2010, 10:44


jhonatan necesito hacerle varias preguntas sobre el proyecto, por favor respondame
para k me pueda ayudar , gracias.
Responder

Annimo 21 de abril de 2010, 12:21


Tengo una lista de stock: list stock = new list(); a la cual le quiero cargar productos.
Pero no se como hacer para que no guarde elementos repetidos.
Quiero q al ingresar un objeto en caso de que ya exista en la lista solo incremente el
atributo cantidad del objeto en 1.
en caso que no exista ahun en la lista que lo agregue.
o q los cargue a todos pero a la hora de mostrar que muestre los distintos objetos con
el atributo cantidad detallando la cantidad de objetos q hay.
Si alguien sabe le agradeceria.
Responder

JN# 21 de abril de 2010, 14:33


Este comentario ha sido eliminado por el autor.
Responder

http://aprendecsharp.blogspot.com/2010/03/coleccioneslistarraylist.html

10/17

11/7/2016

AprendeCSharp:ColeccionesList,ArrayList
JN# 22 de abril de 2010, 6:06
Este comentario ha sido eliminado por el autor.
Responder

JN# 22 de abril de 2010, 6:11


Lo he puesto dos veces puesto que primero estaba invertida la condicion y luego porque
no salieron los < >...
Saludos, veo que su necesidad es la de encontrar si lo que esta tratando de insertar en
su lista existe o no, para eso podria utilizar el metodo Find.
No es la unica forma de hacerlo, supongo hay varias, una de ellas seria la siguiente:
static void M ain(string[] args)
{
List<string> Productos = new List<string>();
Productos.Add("pera");
Productos.Add("mazana");
Productos.Add("uva");
Productos.Find(BuscarRegistrar);
}
private static bool BuscarRegistrar(string p)
{
if (p.ToLower() == "manzana")
{
//Aqui pone sus codigos para que incremente el elemento cantidad de su lista
return true;
}
else
{
//Aqui pone sus codigos para que inserte el producto dentro de la lista. La manzana
seria un valor de una variable cualquiera que usted este capturando en cualquier lado.
return false;
}
}
/*Si quiere lo hace creando un delegado explicitamente, algo que NO es necesario
puesto que C# y VB deducen el delegado correcto a partir del contexto y lo crean
automticamente.*/
Responder

Annimo 22 de abril de 2010, 13:33


Gracias pero p.Tolower no es correcto. quisas en java si.
Responder

Juan Alvarez 22 de abril de 2010, 13:36


ToLower
es
correcto
us/library/system.string.tolower(VS.71).aspx

...

http://msdn.microsoft.com/en

Responder

JN# 22 de abril de 2010, 13:51


M ire amigo anonimo, usted debe saber que siempre que contestamos tratamos de probar
que lo que decimos es correcto, la idea de este blog no es desinformar. Si usted agarra
y copia ese codigo que esta ahi y lo pega en su cosola C# se dara cuenta que es
correcto.
Es cierto que nos equivocamos eso no lo negaremos nunca pero cuando eso sucede
simplemente corregimos.
Si usted quiere ayudar bienvenido sera, pero la forma de decir que que algo es
incorrecto simplemente ESO NO AYUDA, lo que ayuda es que usted escriba lo que cree
es correcto, asi lo debatimos de ser necesario.
Responder

http://aprendecsharp.blogspot.com/2010/03/coleccioneslistarraylist.html

11/17

11/7/2016

AprendeCSharp:ColeccionesList,ArrayList

Annimo 23 de abril de 2010, 19:23


Gracias por la correccion, estuve viendo y la clase String posee el metodo ToLower().
M il disculpas. Saludos.
Responder

Annimo 23 de octubre de 2010, 13:08


JN# diculpa tengo una pregunta y es....se puede crear un lista y dentro de esa lista
otra...si es posible esto..m puedes mostrar como...Gracias por su respuesta..
Responder

JN# 23 de octubre de 2010, 23:31


Claro que si, el metodo Add() espera un valor de un tipo del cual fue declarada la Lista,
muy bien ese tipo podria ser otra lista. Por ejemplo:
class Listas
{
public List<List<string>
>
ListadeLista = new List<
List<
string>
>
();
public List<string> hija = new List<string>();
}

class Program
{
static void M ain(string[] args)
{
Listas obj = new Listas();
obj.hija.Add("Elemento1");
obj.hija.Add("Elemento2");
obj.hija.Add("Elemento3");
obj.ListadLista.Add(obj.hija);
}
}
Ahi delcaro una lista que espera valores de tipo listas llenas de strines, luego en el M ain
a dicha lista le paso un objeto de tipo lista. Asi mismo se haria con cualquier otro tipoo.
Responder

Annimo 28 de octubre de 2010, 14:39


Hola, disculpa la molestia, tengo una pequea duda, quiero mostrar los elementos de una
lista, con el foreach, pero la lista es de tipo Usuario(una clase que yo cree), entonces el
c# me lanza un error en el foreach, algo con "GetEnumerator". Yo pienso que es porque
la lista no es de un tipo de dato definido en c# pero no estoy segura, y en ese caso no
se solucionar el problema, podria mostrarme como ? Gracias
Responder

Annimo 28 de octubre de 2010, 14:40


JN# : Hola, disculpa la molestia, tengo una pequea duda, quiero mostrar los elementos
de una lista, con el foreach, pero la lista es de tipo Usuario(una clase que yo cree),
entonces el c# me lanza un error en el foreach, algo con "GetEnumerator". Yo pienso
que es porque la lista no es de un tipo de dato definido en c# pero no estoy segura, y
en ese caso no se solucionar el problema, podria mostrarme como ? Gracias
Responder

JN# 30 de octubre de 2010, 7:41


Hola, no es ninguna molestia, cualquier pregunta acerca de lo que tratamos en el blog es
bien venida. Acerca de tu pregunta me dices que estas intentando imprimir con un

http://aprendecsharp.blogspot.com/2010/03/coleccioneslistarraylist.html

12/17

11/7/2016

AprendeCSharp:ColeccionesList,ArrayList
bien venida. Acerca de tu pregunta me dices que estas intentando imprimir con un
foreach los elementos de tu lista y que la lista es tipo Usuario, lo primero que me
gustaria ver es como estas tratando de imprimir los elementos de esa lista, lo mas factible
es que me muestres tu codigo. Quizas te ayudaria saber que no puedes intentar imprimir
un objeto de ese tipo Usuario al que te refieres sino un miembro de ese objeto, como
por ejemplo Usuario.Nombre
Responder

Annimo 28 de febrero de 2011, 15:13


M e gustaria saber cual es la diferencia entre los arrayList y las coleccion list
Responder

Ing. Jonathan Nez 2 de marzo de 2011, 12:36


La diferencia a nivel de comportamiento (mtodos)es mnima. Ambas corresponden como
arriba se describe al mismo espacio de nombre, solo que las ArrayList no son genricas y
por tanto no heredan de las interfaces genricas: IList<T>, ICollection<T>,
IEnumerable<T> solo hereda de las interfaces colecciones IList, ICollection, IEnumerable,
ICloneable, esta ultima no es heredada por las List<T> por tanto en este tipo de lista NO
permite clonaciones o creaciones de sobras.
Responder

Annimo 13 de junio de 2011, 20:47


Tengo una List y quiero mostrala. El tema es que no hay una cantidad fija puede ser 1,3,
o quien sabe.
Como hago para mostrar eso en un Formulario.
Gracias y espero pronta respuesta.
Responder

sxtn 24 de junio de 2011, 21:17


Gracias por la ayuda
Responder

Ing. Jonathan Nez 25 de junio de 2011, 6:06


Lo sentimos pero no podemos contestar preguntas sin sentido y que ni siquiera usted
misma sabe que es lo que quiere. Le pedimos por favor que si en verdad usted esta
interesada que reformule su pregunta, hgala clara, dganos que intenta hacer y que le
esta saliendo mal o no puede hacer y con gusto le ayudaremos.
Responder

falvarez 25 de junio de 2011, 6:18


Ciertamente la pregunta no hacia ningun sentido y es imposible ayudarle. Tienes una lista
de que?, mostrarla en que tipo de formulario?. Si puedes reformulala, o pon algun
ejemplo de codigo de que es lo que tienes.
Responder

Annimo 17 de abril de 2012, 11:57


hola! kisiera saber si tienen ejemplos de listas en c#...gracias d antemano :)
Responder
Respuestas
Annimo 22 de mayo de 2012, 11:41
Lee este articulo:
http://aprendecsharp.blogspot.com/2010/03/coleccioneslistarraylist.html
Responder

http://aprendecsharp.blogspot.com/2010/03/coleccioneslistarraylist.html

13/17

11/7/2016

AprendeCSharp:ColeccionesList,ArrayList
elkzador 23 de abril de 2012, 12:55
como ingresar mi nombre en una lista y que esta la ordene correctamente ejemplo:
erick
insertar letra final: k
insertar letra inicial: e
insertar letra media: i
insertar letra : r
:c
y que todas esta aparescan ordenas de esta forma = ( erick)
utilizando la clase list
Responder
Respuestas
Annimo 22 de mayo de 2012, 11:50
De antemano te respondo que hars un mega esfuerzo para lograrlo. Como los
caracteres no tienen un orden lgico u ordinal "erick" en algun sitio debers
tenerlo como referencia para validarlo contra los items de tu Array o Lista y
luego jugar con algo parecido al mtodo de burbujas (resignando valores
entre items) para poder cambiar el Item[x] por el Item[y] respecto al caracter
de referencia que corresponda.... sabiendo que debers repetir/iterar este
mtodoc con cada elemento Item[n] de tu Array o Lista.
Responder

Annimo 22 de mayo de 2012, 11:28


necesito un ArrayList de menor a mayor en funcion de la cantidad de caracteres que
tiene cada item,Como haGo eso?
Responder
Respuestas
Annimo 22 de mayo de 2012, 11:41
Prueba produciendo otro ArrayList midiendo el Length de item y agregandolo
a este nuevo ArrayList
Responder

Annimo 22 de mayo de 2012, 11:32


*Necesito ordenar un ArrayList....
Responder
Respuestas
Annimo 22 de mayo de 2012, 11:43
Probaste Sort o Reverse ??
Responder

Annimo 22 de mayo de 2012, 11:51


Hola quisiera hacer un programa en C# me ayudan con un par de ejemplos
Responder
Respuestas
Ing. Jonathan Nez 22 de mayo de 2012, 11:55
Aqu hay algunos ejemplos, toma el que creas mas te convenga
www.google.com Luego cuando estes programando si tienes alguna pregunta
sobre tu cdigo pues nos la haces.
Responder

http://aprendecsharp.blogspot.com/2010/03/coleccioneslistarraylist.html

14/17

11/7/2016

AprendeCSharp:ColeccionesList,ArrayList
Annimo 22 de mayo de 2012, 12:02
Aqu tienes uno bueno:
public class Hello1
{
public static void M ain()
{
System.Console.WriteLine("Hello, World!");
}
}
Responder

estrela 5 de junio de 2012, 20:01


Hola! estoy trabajando con las list en un programa de polinomios, el programa genera "x"
numero de polinomios aleatoriamente y los quiero almacenar en la lista, sin embargo
utilizando el .Add, o Insert solo me almacena "x" veces el ltimo polinomio generado...
que puedo hacer para que la lista almacene los "x" polinomios diferentes?
Responder

Ing. Jonathan Nez 5 de junio de 2012, 20:31


Estoy por pensar que quizs no ests utilizando correctamente un bucle, pega aqu tu
cdigo para que qu esta incorrecto.
Responder

estrela 6 de junio de 2012, 10:47


Este comentario ha sido eliminado por el autor.
Responder

Ing. Jonathan Nez 6 de junio de 2012, 13:32


Como te haba dicho antes, lo que tienes el el insert mal empleado o fuera del bucle.
Intenta dentro de este if:
if (j < indice)
{
ArrCoefs[j] = a.Next(10,10);
Aleatorio = new Polinomio(ArrCoefs);
chklstbxAleatorios.Items.Add(Aleatorio.ToString(), false);
listpoli.Insert(i,Aleatorio);
}
Responder

estrela 7 de junio de 2012, 19:53


Holaa!! tengo un nuevo reto... Ahora debo crear un programa que grafique funciones
cuadraticas, pero no he encontrado como crear una grafica en c sharp. Puedes
ayudarme??? gracias
Responder
Respuestas
Ing. Jonathan Nez 8 de junio de 2012, 7:08
Hola Estrela, la verdad es que eso es un tema bastante amplio, por lo pronto
te puedo decir que para crear grficos puedes utilizar la clase Graphics y su
mtodo CreateGraphics(), no es tan complejo dibujar "figuras simples". Puedes
meter un objeto de tipo Bitmap dentro de un Graphics y manipularlo
utilizando las clases Pen, Brush, Font, Color, etc. M i mejor consejo en este
sentido es que primero te leas acerca de estas clases, las implemente y
cuando tengas algun inconveniente con tu cdigo pues nos preguntas y con
gusto trataremos de ayudarte.
Responder

estrela 25 de junio de 2012, 20:07


Este comentario ha sido eliminado por el autor.
Responder

http://aprendecsharp.blogspot.com/2010/03/coleccioneslistarraylist.html

15/17

11/7/2016

AprendeCSharp:ColeccionesList,ArrayList
Responder

Juan Diego Escalante 17 de marzo de 2013, 10:20


Buenas necesito su ayuda para realizar este ejercicio
1. Para la venta de sus productos una empresa necesita que le desarrolle un carrito de
compras mediante un arreglo el cual contendr los artculos que se desean comprar.
Para un prototipo deber construir una clase Artculo, para poderlos agregar al carrito
de compras (List(of) ):
o Se debe crear una clase que con los siguientes atributos (Cdigo, Descripcin, Precio
Venta, Producto Exento Impuesto, Porcentaje descuento).
Consideraciones de la clase Artculo:
Debe contener atributos, propiedades y constructores de acuerdo a lo visto en clase.
Se debern implementar los siguientes mtodos a la clase:
o ToString: M todo que retorna todas los datos del Artculo (atributos).
o M onto Impuesto de Venta: Para este mtodo debe tomar en cuenta si artculo esta
exento del pago de impuestos en cuyo caso el monto es de cero, caso contrario se
aplica el impuesto de venta que corresponde al 13%.
o Precio con Impuesto: Corresponde al precio de venta ms el monto del impuesto.
o M onto Descuento. Se aplica el porcentaje de descuento del artculo al precio con
impuesto.
Debe disear un formulario con las siguientes consideraciones:
Debe permitir capturar los datos de la clase Artculo.
Contar con los siguientes botones:
o Agregar Artculo:
Debe capturar los datos del Artculo (Atributos del objeto).
Agregar los datos del artculo al arreglo (Carrito Compras).
o M ostrar Cobro: Permitir mostrar en un ListView los siguientes datos almacenados en el
carrito de compras:
Codigo, Descripcin, Precio de Venta, Precio + Impuesto.
En la parte inferior del listView se debe mostrar el subtotal (correspondiente a la suma
de todos los precios con el impuesto), el total del monto de descuento aplicado, total a
pagar y la cantidad de artculos que exentos del pago de impuesto.
o Botn Limpiar: Borra los datos de los cuadros de texto del formulario y del listview.
o Un botn de Salir.
Responder
Respuestas
Jonathan Nunez

18 de marzo de 2013, 6:38

No estamos para hacer tu trabajo, podemos ayudarte resolver errores o


snippets de con mejores soluciones a alguna que ya tengas hecha. Si
realmente quieres ayuda de nosotros, empieza a hacer tu trabajo y el
confusiones o errores que tengas entonces nos consultas.
Responder

Annimo 10 de abril de 2014, 20:45


Buenas noches, tengo una duda con las lista, estoy haciendo una clase que me trae
(id,nombre,apellido) de la base de datos, estos datos deseo almacenarlos en una lista y
llamarla desde cualquier formulario. Pregunta
1. como hago para almacernarlos en la lista los tres datos si son varios registros.
2. Como hago para sacar esa informacion en un formulario con un foreach.
Gracias de antemano por sus respuestas.
Responder

http://aprendecsharp.blogspot.com/2010/03/coleccioneslistarraylist.html

16/17

11/7/2016

AprendeCSharp:ColeccionesList,ArrayList

Introducetucomentario...

Comentarcomo:

Publicar

RENEE(Google)

Salir

Vistaprevia

Avisarme

Preguntas;Comentarios;Aportes;Criticas Positivas;Recomendaciones.

Enlaces a esta entrada


Crear un enlace
Entrada ms reciente

Pgina principal

Entrada antigua

Suscribirse a: Enviar comentarios (Atom)

Plantilla Simple. Con la tecnologa de Blogger.

http://aprendecsharp.blogspot.com/2010/03/coleccioneslistarraylist.html

17/17

You might also like