我有以下标签字符串列表:
List<string> Tags = new List<string> { "EmplId", "EmpName", "EmpAddress" };
我想按照以下模式生成标签:
EmplId1
EmpName1
EmpAddress1
EmplId2
EmpName2
EmpAddress2
EmplId3
EmpName3
EmpAddress3
我写了以下代码:
List<string> Tags = new List<string> { "EmplId", "EmpName", "EmpAddress" };
foreach (var item in Tags)
{
for (int i = 1; i < 4; i++)
{
Console.WriteLine(item+i);
}
}
Console.ReadLine();
但是此代码生成如下输出:
EmplId1
EmplId2
EmplId3
EmpName1
EmpName2
EmpName3
EmpAddress1
EmpAddress2
EmpAddress3
我如何获得所需的输出?
答案 0 :(得分:4)
内部循环确实需要是外部循环。你想迭代数字然后重复值
for (int i = 1; i < 4; i++)
{
foreach (var item in Tags)
{
Console.WriteLine(item+i);
}
}
答案 1 :(得分:3)
您可以使用Linq生成项目:
var items = from i in Enumerable.Range(1, 4)
from t in Tags
select t + i;
制作以下项目:
EmplId1
EmpName1
EmpAddress1
EmplId2
EmpName2
EmpAddress2
EmplId3
EmpName3
EmpAddress3
EmplId4
EmpName4
EmpAddress4
如果没有Linq,你应该像Jared指出的那样 - 交换循环。