从两个不同的数组列表中提取值?

时间:2016-08-22 05:09:55

标签: c# arraylist indexing

我需要有关如何制作for循环的帮助。然后使用i值作为两个arrayList索引号。

我的指示说 - 创建一个循环,该循环使用ArrayList的长度或元素来指示循环运行的次数。 - 循环运行的每个时间,拉出ArrayList的另一个元素并将其输出到
对控制台有意义的时尚。

static void Main(string[] args)
    {
        nameArrayLists();
    }

    public static void nameArrayLists() {

        ArrayList teamLists = new ArrayList() {"Cloud 9"};

        teamLists.Add("Fnatic");
        teamLists.Add("SKT T1");
        teamLists.Add("Flash Wolves");
        teamLists.Add("EDG");


        ArrayList region = new ArrayList() { "North America" };

        region.Add("Europe");
        region.Add("Korea");
        region.Add("Taiwan");
        region.Add("China");

在此之后,如何使用i作为两个arrayList索引号进行for循环?最终结果应该是“Fnatic在欧洲地区,云9在北美地区”等。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,你正在寻找这样的东西:

if (teamLists.Count == region.Count)
{
    for (int i = 0; i < teamLists.Count; i++)
    {
        Console.WriteLine("{0} is in the {1} region", teamLists[i], region[i]);
    }
}
else
{
    Console.WriteLine("Items in the collections are not matching");
}

请记住:列表的顺序都是一样的。这意味着对于任何i,相应索引处的值应该匹配。

最适合您的选择:

创建一个包含两个属性的简单类(如果需要,可以使用更多),然后使用覆盖的ToString()方法,该方法用于显示所描述的文本。然后像下面一样使用List;

班级定义:

public class TeamNRegion
{
    public string TeamName { get; set; }
    public string RegionName { get; set; }
    public int Id { get; set; }

    public override string ToString()
    {
        return String.Format("{0} is in the {1} region", this.TeamName, this.RegionName);
    }
}

然后你可以像这样创建这个类对象的列表:

List<TeamNRegion> teamRegionList = new List<TeamNRegion>()
                                  {
                                    new  TeamNRegion(){Id=1,TeamName="Fnatic",RegionName="Europe"}, 
                                    new  TeamNRegion(){Id=10,TeamName="SKT T1",RegionName="Korea"},
                                    new  TeamNRegion(){Id=11,TeamName="Flash Wolves",RegionName="Taiwan"},
                                    new  TeamNRegion(){Id=12,TeamName="EDG",RegionName="China"},
                                  };

// Print the result like this

foreach (TeamNRegion team in teamRegionList)
{
    Console.WriteLine(team.ToString());
}