Das Folgende ist ein Auszug aus meinem Code:
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;
}
Ich versuche, in meinem main () - Funktionscode Folgendes zu verwenden:
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;
}
Das Problem ist hier: Ich versuche, alle Elemente in meiner Liste mit einer for-Schleife zu drucken:
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);
}
Ich möchte das letzte Element finden, damit ich cnt3 in meiner for-Schleife gleichsetze und alle Einträge in der Liste ausdrucke. Jedes Element in der Liste ist ein Objekt der Klasse AllIntegerIDs, wie oben im Codebeispiel erwähnt. Wie finde ich den letzten gültigen Eintrag in der Liste?
Sollte ich so etwas wie integerList.Find (integerList []. M_MessageText == null;
Wenn ich das benutze, braucht es einen Index, der von 0 bis zu jedem Maximum reicht. Das heißt, ich muss eine andere for-Schleife verwenden, die ich nicht verwenden möchte. Gibt es einen kürzeren / besseren Weg?
Danke, Viren
AllIntegerIDs newItem = new AllIntegerID();
, alle Felder zuzuweisen und dann aufzurufen integerList.Add(newItem)
. Oder verwenden Sie Eigenschaften anstelle von Feldern und verwenden Sie die C # 3.0-Objektinitialisierersyntax.