Sau đây là một trích xuất từ mã của tôi:
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;
}
Tôi đang cố gắng sử dụng như sau trong mã hàm main () của mình:
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;
}
Vấn đề nằm ở đây: Tôi đang cố in tất cả các thành phần trong Danh sách của mình bằng vòng lặp 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);
}
Tôi muốn tìm phần tử cuối cùng để tôi đánh đồng cnt3 trong vòng lặp for của mình và in ra tất cả các mục trong Danh sách. Mỗi phần tử trong danh sách là một đối tượng của lớp AllIntegerID như đã đề cập ở trên trong mẫu mã. Làm cách nào để tìm mục nhập hợp lệ cuối cùng trong Danh sách?
Tôi có nên sử dụng một cái gì đó như số nguyênList.Find (số nguyên []. M_MessageText == null;
Nếu tôi sử dụng nó, nó sẽ cần một chỉ số sẽ nằm trong khoảng từ 0 đến tối đa. Có nghĩa là tôi sẽ phải sử dụng một vòng lặp khác mà tôi không có ý định sử dụng. Có cách nào ngắn hơn / tốt hơn không?
Cảm ơn, Viren
AllIntegerIDs newItem = new AllIntegerID();
, sử dụng nó để gán tất cả các trường và sau đó gọi integerList.Add(newItem)
. Hoặc sử dụng các thuộc tính thay vì các trường và sử dụng cú pháp khởi tạo đối tượng C # 3.0.