ต่อไปนี้เป็นสารสกัดจากรหัสของฉัน:
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;
}
ฉันพยายามใช้สิ่งต่อไปนี้ในรหัสฟังก์ชัน 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;
}
ปัญหาอยู่ที่นี่: ฉันกำลังพยายามพิมพ์องค์ประกอบทั้งหมดในรายการของฉันโดยใช้การวนซ้ำสำหรับ:
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);
}
ฉันต้องการค้นหาองค์ประกอบสุดท้ายเพื่อให้ฉันเทียบ cnt3 ในลูป for for และพิมพ์รายการทั้งหมดในรายการ แต่ละองค์ประกอบในรายการเป็นวัตถุของคลาส AllIntegerIDs ดังกล่าวข้างต้นในตัวอย่างโค้ด ฉันจะค้นหารายการที่ถูกต้องล่าสุดในรายการได้อย่างไร
ฉันควรใช้บางอย่างเช่น integerList.Find (integerList []. m_MessageText == null;
ถ้าฉันใช้มันจะต้องมีดัชนีที่จะอยู่ในช่วงจาก 0 ถึงสูงสุดใด ๆ หมายถึงฉันจะต้องใช้อันอื่นสำหรับลูปซึ่งฉันไม่ต้องการใช้ มีวิธีที่สั้นกว่า / ดีกว่าหรือไม่?
ขอบคุณ Viren
AllIntegerIDs newItem = new AllIntegerID();
, การใช้งานที่จะกำหนดให้ทุกสาขาและแล้วintegerList.Add(newItem)
โทร หรือใช้คุณสมบัติแทนฟิลด์และใช้ไวยากรณ์ตัวกำหนดค่าเริ่มต้นของวัตถุ C # 3.0