另一个数组索引处的数组值

时间:2014-10-02 09:23:41

标签: c# arrays

我有两个数组:字符串[]文件字符串[]评论

我使用foreach循环遍历 files 数组。

foreach(string file in files)
{
comments.SetValue(//index of file we are at)
}

假设我到了一个文件数组索引为20的文件。我想要做的是在相同的索引处获取comments数组的值。所以对于文件[0]我返回注释[0],文件[1]注释[1]等等。

5 个答案:

答案 0 :(得分:2)

我会这样做

for (int i = 0; i < files.Length; i++) {
   string file = files[i];
   string comment = comments[i];
}

答案 1 :(得分:1)

简单地说:

string[] files = { "1", "2", "3" };
            string[] comments = {"a","b","c"};

            int i = 0;
            foreach (string file in files)
            {
                 files[i]  = comments[i] ;
                 i++;
            }

答案 2 :(得分:0)

你可以使用IndexOf假设重复不会成为问题

foreach(string file in files)
{
    int index = files.IndexOf(file);
    //blah blah
}

但是使用for循环可能更容易,更有效,那么你将拥有索引

   for (var i = 0; i < files.Length; i++)

答案 3 :(得分:0)

请勿使用foreach,而是使用for

for (var i = 0; i < files.Length; i++)
{
  // ...
}

答案 4 :(得分:0)

您可以使用.Zip()

foreach(var fc in files.Zip(comments, (f, c) => new { File = f, Comment = c }))
{
    Console.WriteLine(fc.File);
    Console.WriteLine(fc.Comment);
}