Lo siguiente es un extracto de mi código:
public class AllIntegerIDs
{
public AllIntegerIDs()
{
m_MessageID = 0;
m_MessageType = 0;
m_ClassID = 0;
m_CategoryID = 0;
m_MessageText = null;
}
~AllIntegerIDs()
{
}
public void SetIntegerValues (int messageID, int messagetype,
int classID, int categoryID)
{
this.m_MessageID = messageID;
this.m_MessageType = messagetype;
this.m_ClassID = classID;
this.m_CategoryID = categoryID;
}
public string m_MessageText;
public int m_MessageID;
public int m_MessageType;
public int m_ClassID;
public int m_CategoryID;
}
Estoy tratando de usar lo siguiente en mi código de función main ():
List<AllIntegerIDs> integerList = new List<AllIntegerIDs>();
/* some code here that is ised for following assignments*/
{
integerList.Add(new AllIntegerIDs());
index++;
integerList[index].m_MessageID = (int)IntegerIDsSubstring[IntOffset];
integerList[index].m_MessageType = (int)IntegerIDsSubstring[IntOffset + 1];
integerList[index].m_ClassID = (int)IntegerIDsSubstring[IntOffset + 2];
integerList[index].m_CategoryID = (int)IntegerIDsSubstring[IntOffset + 3];
integerList[index].m_MessageText = MessageTextSubstring;
}
El problema está aquí: estoy tratando de imprimir todos los elementos en mi lista usando un bucle for:
for (int cnt3 = 0 ; cnt3 <= integerList.FindLastIndex ; cnt3++) //<----PROBLEM HERE
{
Console.WriteLine("{0}\t{1}\t{2}\t{3}\t{4}\n", integerList[cnt3].m_MessageID,integerList[cnt3].m_MessageType,integerList[cnt3].m_ClassID,integerList[cnt3].m_CategoryID, integerList[cnt3].m_MessageText);
}
Quiero encontrar el último elemento para poder cnt3 cnt3 en mi bucle for e imprimir todas las entradas en la lista. Cada elemento de la lista es un objeto de la clase AllIntegerID como se mencionó anteriormente en el ejemplo de código. ¿Cómo encuentro la última entrada válida en la Lista?
¿Debo usar algo como integerList.Find (integerList []. M_MessageText == null;
Si lo uso, necesitará un índice que oscilará entre 0 y el máximo. Significa que tendré que usar otro bucle for que no tengo la intención de usar. ¿Hay una forma más corta / mejor?
Gracias viren
AllIntegerIDs newItem = new AllIntegerID();
, use eso para asignar todos los campos y luego llame integerList.Add(newItem)
. O use propiedades en lugar de campos y use la sintaxis de inicializador de objeto C # 3.0.