如何在嵌套foreach中继续迭代
本文关键字:继续 迭代 foreach 嵌套 | 更新日期: 2023-09-27 18:28:51
下面是我的简单示例:
IList<string> files = new string[] { "file1", "file2", "file3" };
IList<string> words = new string[] { "first", "second", "third", "fourth", "fifth", "sixth" };
foreach (var file in files) {
int i = 1;
foreach (var word in words) {
MessageBox.Show(i.ToString());
i++;
}
}
每次迭代后,我都想在MessageBox中看到1
、2
、3
、4
、5
、6
、7
、8
、9
、10
、11
、12
、13
、14
、15
、16
、17
、18
,但它给了我3次1
、2
、3
、4
、5
、6
有可能是我想要的吗?
计数器"重置"本身的原因是因为您指示它这样做:
foreach (var file in files) {
int i = 1; //<--- for each file, reset the counter i to 1
foreach (var word in words) {
MessageBox.Show(i.ToString());
i++;
}
}
你可以通过初始化外循环外的计数器来获得你想要的行为:
int i = 1; //<--- initialize outside outer loop
foreach (var file in files) {
foreach (var word in words) {
MessageBox.Show(i.ToString());
i++;
}
}