c# - mostrar - Obtener un elemento de la lista por índice
mostrar elementos de una lista c# (5)
Pregunta antigua, pero veo que este hilo estuvo bastante activo recientemente, así que seguiré adelante y lanzaré mis dos centavos:
Casi exactamente lo que dijo Mitch. Suponiendo que la indexación sea correcta, puede seguir adelante y usar la notación de corchete como si estuviera accediendo a una matriz. Sin embargo, además de usar el índice numérico, si sus miembros tienen nombres específicos, a menudo puede hacer una búsqueda / acceso simultáneo escribiendo algo como:
var temp = list1["DesiredMember"];
Cuanto más sabes, ¿verdad?
Recientemente comencé a usar c # moviéndome desde Java. Parece que no puedo encontrar cómo obtener un elemento de la lista por índice. En java para obtener el primer elemento de la lista sería:
list1.get(0);
¿Cuál es el equivalente en c #?
Puede utilizar el método de extensión ElementAt en la lista.
Por ejemplo:
// Get the first item from the list
using System.Linq;
var myList = new List<string>{ "Yes", "No", "Maybe"};
var firstItem = myList.ElementAt(0);
// Do something with firstItem
Visual Basic, C # y C ++ tienen sintaxis para acceder a la propiedad Item sin usar su nombre. En su lugar, la variable que contiene la Lista se usa como si fuera una matriz.
List[index]
Ver por ejemplo: https://msdn.microsoft.com/en-us/library/0ebtbkkc(v=vs.110).aspx
este es mi codigo El código utiliza un cuadro de lista y un botón de selección. ElementAt () como se usa para seleccionar un elemento en una lista de acuerdo con el cuadro de lista selectedItem:
public class Test
{
private struct Data
{
public int Id { get; set; }
public string Text { get; set; }
}
private List<Data> data = null;
private Data SelDataReg { get; set; } = null;
private void Start()
{
this.data = new List<Data>
{
new Data{ Id = 0, Text = "Reg 0" }
, new Data{ Id = 1, Text = "Reg 1" }
, new Data{ Id = 2, Text = "Reg 2" }
, new Data{ Id = 3, Text = "Reg 3" }
};
// ListBox
this.ListBoxControl.DisplayMember = "Text";
this.ListBoxControl.DataSource = this.data;
}
private void ButSelect_Click(object sender, EventArgs e)
{
if(this.ListBoxControl.SelectedIndex == -1) return;
this.SelDataReg = this.data.ElementAt(this.ListBoxControl.SelectedIndex);
MessageBox.Show("Okay, you are selected " + this.SelDataReg.Text);
}
}
list1[0];
Suponiendo que el tipo de lista tiene un indexador definido.