我在C#中使用以下代码。我通过使用索引将值添加到arraylist中。现在我想通过仅使用索引来读取arraylist中的值。在下面的示例中,我只是读取arrylist中的所有值,但我想根据索引i中每个元素的索引(例如Customer_Details [i])读取arrylist中的值。
public struct Cust_Info
{
public String Client_Key;
public String Registration_Key;
public int Standard;
public Cust_Info(String C_Key, String Reg_Key, int Std)
{
Client_Key = C_Key;
Registration_Key = Reg_Key;
Standard = Std;
}
}
private void Form1_Load(object sender, EventArgs e)
{
ArrayList Customer_Details = new ArrayList();
for (int i = 0; i < 1; i++)
{
Customer_Details.Insert(i, new Cust_Info("A", "B", 1));
}
//for (int i = 0; i < 1; i++)
//{
Customer_Details.Insert(1, new Cust_Info("C", "D", 2));
for (int i = 0; i < 1; i++)
{
ArrayList obj=new ArrayList();
//((ArrayListOFStructures.Form1.Cust_Info)((new System.Collections.ArrayList.ArrayListDebugView(Customer_Details)).Items[0])).Client_Key
//obj = (ArrayList)Customer_Details[i];
foreach (Cust_Info temp in Customer_Details)
{
//comboBox1.Items.Add(Customer_Details[0].ToString());
comboBox1.Items.Add(temp.Client_Key);
comboBox1.Items.Add(temp.Registration_Key);
comboBox1.Items.Add(temp.Standard);
}
}
}
在上面的代码中我想只使用结构。如何根据索引读取arrylist中的值。能否请您提供我可以解决上述问题的任何代码或链接?
答案 0 :(得分:2)
ArrayList
项目:
Cust_Info cust = (CustInfo)theList[index];
然而,ArrayList
在任何&gt; = .NET 2.0中都非常罕见,List<Cust_Info>
会使更多更容易。另外,Cust_Info
非常喜欢它应该是class
(在.NET中编写struct
非常罕见,通常用来表示“值” - 客户不是不是“价值”)。公共领域也非常沮丧。
请注意目前你是(因为它是struct
)实际复制 Cust_Info
每当你从中获取(或放置它) in)清单;这不一定是你想要的......
答案 1 :(得分:0)
您可以尝试类似
的内容ArrayList arr = new ArrayList();
for (int iIndex = 0; iIndex < arr.Count; iIndex++)
{
object o = arr[iIndex];
}
但我宁愿选择
答案 2 :(得分:0)
for(int i=0; i<Customer_Details.Count/*or.Length*/; i++)
Customer_Details[i] = something;