的陣列的我有兩個陣列:串[]文件和串[]評論值在索引的另一陣列
我通過文件循環使用foreach循環陣列。
foreach(string file in files)
{
comments.SetValue(//index of file we are at)
}
說我得到一個文件,該文件是索引20的文件數組。我想要做的就是在相同的索引處獲取comments數組的值。因此,對於文件的[0]我返回評論[0],文件[1]評論[1]等等等等
的陣列的我有兩個陣列:串[]文件和串[]評論值在索引的另一陣列
我通過文件循環使用foreach循環陣列。
foreach(string file in files)
{
comments.SetValue(//index of file we are at)
}
說我得到一個文件,該文件是索引20的文件數組。我想要做的就是在相同的索引處獲取comments數組的值。因此,對於文件的[0]我返回評論[0],文件[1]評論[1]等等等等
我會做這樣的
for (int i = 0; i < files.Length; i++) {
string file = files[i];
string comment = comments[i];
}
您可以使用IndexOf
假設重複不會成爲一個問題
foreach(string file in files)
{
int index = files.IndexOf(file);
//blah blah
}
但它可能會可以更容易,更有效地使用一個for循環,那麼你將有指數
for (var i = 0; i < files.Length; i++)
不要使用foreach
,使用for
代替:
for (var i = 0; i < files.Length; i++)
{
// ...
}
做簡單:
string[] files = { "1", "2", "3" };
string[] comments = {"a","b","c"};
int i = 0;
foreach (string file in files)
{
files[i] = comments[i] ;
i++;
}
您可以使用此.Zip()
:
foreach(var fc in files.Zip(comments, (f, c) => new { File = f, Comment = c }))
{
Console.WriteLine(fc.File);
Console.WriteLine(fc.Comment);
}
考慮使用'詞典<字符串,字符串>',也許。 – 2014-10-02 09:28:06