নিম্নলিখিতটি আমার কোড থেকে একটি নির্যাস:
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;
}
আমি আমার মূল () ফাংশন কোডটিতে নিম্নলিখিতটি ব্যবহার করার চেষ্টা করছি:
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);
}
আমি সর্বশেষ উপাদানটি সন্ধান করতে চাই যাতে আমি লুপের জন্য আমার সিএনটি 3 এর সমীকরণ করি এবং তালিকার সমস্ত এন্ট্রি মুদ্রণ করি। তালিকার প্রতিটি উপাদান হ'ল উপরে উল্লিখিত কোড নমুনায় শ্রেণীর AllIntegerIDs শ্রেণীর একটি অবজেক্ট। আমি তালিকার শেষ বৈধ এন্ট্রিটি কীভাবে খুঁজে পাব?
আমি কি পূর্ণসংখ্যার মতো কিছু ব্যবহার করব indফাইন্ড (পূর্ণসংখ্যা তালিকা [] m m_MessageText == নাল;
যদি আমি এটি ব্যবহার করি তবে এটির জন্য এমন একটি সূচি প্রয়োজন যা সর্বনিম্ন 0 থেকে শুরু করে। মানে লুপের জন্য আমাকে অন্যটি ব্যবহার করতে হবে যা আমি ব্যবহার করার ইচ্ছা করি না। আরও কি আরও ছোট / ভাল উপায় আছে?
ধন্যবাদ, বীরেন
AllIntegerIDs newItem = new AllIntegerID();
, সমস্ত ক্ষেত্র বরাদ্দ করতে এটি ব্যবহার করুন এবং তারপরে কল করুন integerList.Add(newItem)
। অথবা ক্ষেত্রের চেয়ে বৈশিষ্ট্যগুলি ব্যবহার করুন এবং সি # 3.0 অবজেক্ট ইনিশিয়ালাইজার সিনট্যাক্স ব্যবহার করুন।