Foros del Web » Programación para mayores de 30 ;) » .NET »

Indice de un array como string

Estas en el tema de Indice de un array como string en el foro de .NET en Foros del Web. Hola a todos. Vengo de programar en PHP y ahora estaba intentando hacer alguna cosita con c# en asp.net. Me encuentro con un problema que ...
  #1 (permalink)  
Antiguo 23/09/2008, 02:07
 
Fecha de Ingreso: octubre-2007
Ubicación: Valencia (españa)
Mensajes: 23
Antigüedad: 16 años, 7 meses
Puntos: 0
Indice de un array como string

Hola a todos.
Vengo de programar en PHP y ahora estaba intentando hacer alguna cosita con c# en asp.net.

Me encuentro con un problema que no consigo solucionar googleando.
Me gustaria poder crear arrays cuyos indices sean cadenas y no numeros. Algo extremandamente sencillo en PHP, pero con C# no veo la forma. Obviamente no voy a comparar php con c# y empiezo a pensar que no es posible con c# y que de alguna otra forma se podrá solventar esto.

Un ejemplo en PHP podria ser:
Código PHP:
$array[0]["bebida"] = "vino";
$array[0]["tipo"] = "tinto";

$array[1]["bebida"] = "vino";
$array[1]["tipo"] = "rosado"
¿Como convierto esto a C#?
  #2 (permalink)  
Antiguo 23/09/2008, 06:55
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Indice de un array como string

Puedes usar un Dictionary<string,otrotipo> diccionarioDatos

asi podrias decir

diccionarioDatos["nombredetuvalor"] retornara el otrotipo que definas puede ser un string o un objeto lo que tu necesites. por ejemplo lo que veo q haces es como un catalogo de vinos puedes hacer algo asi

Dictionary<string,Vino> catalogoVinos=new Dictionary<string,Vino>();


donden Vino es una clase que contiene algo como

class Vino
{
private string bebida;
public string Bebida
{
get { return bebida;}
set { bebida=value;}
}
}

y para agregarlas al diccionario (catalogoVinos) solo necesitas crear un objeto vino por cada valor que insertaras.

catalogoVinos.Add("nombredelVino",vino);

digo esto es ilustrativo tal vez no es lo que necesites pero te dara una idea.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 23/09/2008, 06:58
 
Fecha de Ingreso: diciembre-2007
Mensajes: 29
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Indice de un array como string

hasta donde yo se, en C# no puedes poner cadenas en los indices de un array.

Para simular ese comportamiento, mirate la clase System.Collections.Hashtable donde guardas un valor con una Key (object).

Salduos
  #4 (permalink)  
Antiguo 24/09/2008, 06:58
 
Fecha de Ingreso: septiembre-2008
Mensajes: 2
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Indice de un array como string

A lo que te refieres al menos en java se denomina HashMap es decir una colección de elemntos del tipo Indice Valor en el que le das el indice "bebida" y te devuelve un objeto en tu caso "vino".
  #5 (permalink)  
Antiguo 24/09/2008, 08:04
Avatar de diegopedro  
Fecha de Ingreso: agosto-2006
Ubicación: Santiago
Mensajes: 120
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Indice de un array como string

Alli va

Public Class CLASS1
Public _COL1 As String
Public _COL2 As String
End Class


Dim nombre As New Collection
Dim i As Int32
For i = 1 To 15
Dim x As New CLASS1
x._COL1 = CStr(i)
x._COL2 = CStr(i + 1)
nombre.Add(x)
Next
For i = 1 To nombre.Count
Dim w As New CLASS1
w = nombre.Item(i)
Response.Write(w._COL1 & ", ")
Response.Write(w._COL2 & "<BR>")
Next
__________________
Es facil apretar tornillos, pero lo complejo es saber que tornillo apretar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:32.