繁体   English   中英

将字符串 [] 数组中的值插入记录的 ArrayList

[英]Insert Values from string[] arrays to an ArrayList of records

我将把 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 循环是不是还有其他方法可以做到这一点???

我建议你使用字典。 在我看来,这是存储/访问数据的最快方式。 此外,使用 arraylists,在运行时,它会执行动态转换,这会让你浪费很多时间。

您可能想使用:

        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)]}));

但我更喜欢 Fares 已经推荐的解决方案......使用Dictionary

字典 - MSDN

不确定为什么需要 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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM