我将String []中的值添加到Arraylist中。但是,我想从ArrayList访问这些字符串值。
我试过这种方式。
private void Form1_Load()
{
fr = new string[5] { "1", "2", "3", "4", "5" };
bd = new string[5] {"a", "b","c", "d", "e"};
m = new ArrayList();
dosomething();
}
private void dosomething()
{
string[] record = new string[3];
for (int i = 0; i < 5; i++)
{
record[0] = "1";
record[1] = fr[i];
record[2] = bd[i];
m.Add(record);
}
}
我不想使用for循环是否有其他方法可以做到这一点???
答案 0 :(得分:0)
我建议你使用字典。在我看来,这是存储/访问数据的最快方式。此外,对于arraylists,在运行时,它会执行动态的transtyping,这会让你失去这么多时间。
答案 1 :(得分:0)
您可能想要使用:
fr = new string[5] { "1", "2", "3", "4", "5" };
bd = new string[5] { "a", "b", "c", "d", "e" };
m = new ArrayList();
fr.ToList().ForEach(_item => m.Add(new String[]{ "1", _item,bd[fr.ToList().IndexOf(_item)]}));
但是我更喜欢像F票已经推荐的解决方案......使用A Dictionary
答案 2 :(得分:0)
不确定为什么需要ArrayList。通用列表可能更适合您。
var fr = new string[5] { "1", "2", "3", "4", "5" };
var bd = new string[5] {"a", "b","c", "d", "e"};
int i = 1;
var results = fr.Zip<string, string, string[]>(bd, (a,b) => {
var v = new string [3] { i.ToString(), a,b };
i++;
return v;
}).ToList();