C# 多列表数据的多个foreach
我有两个字符串列表C# 多列表数据的多个foreach,c#,foreach,C#,Foreach,我有两个字符串列表 var justiceCourtName = formCollection["JusticeCourtName"]; var courtId = formCollection["CourtID"]; var justiceCourtNameList = justiceCourtName.Split(','); var courtIdList = courtId.ToList(); justiceCourtNameList下面的值: "New York" "Paris"
var justiceCourtName = formCollection["JusticeCourtName"];
var courtId = formCollection["CourtID"];
var justiceCourtNameList = justiceCourtName.Split(',');
var courtIdList = courtId.ToList();
justiceCourtNameList下面的值:
"New York"
"Paris"
"10.33"
"43.15"
下面的宫廷主义价值观:
"New York"
"Paris"
"10.33"
"43.15"
我的问题:
"New York"
"Paris"
"10.33"
"43.15"
我需要在justiceCourtNameList和courtIdList之后使用foreach,从justiceCourtNameList到Name(如下),从courtIdList到lawCourtId,一个接一个
但我不知道如何才能将大法官名单和法院名单一个接一个地设置到新的法院
var lawCourt = new LawCourt { JusticeCourtID = lawCourtId, Name = lawCourtName };
ServiceLibraryHelper.LawServiceHelper.UpdateLawCourt(lawCourt); // Update
它可能是可枚举的。Zip可以满足您的目的():
不要使用
foreach
运算符,而是使用for
运算符。检查两个数组的长度是否相等
List<string> justiceCourtNameList = ...
List<double> courtIdList = ...
if(justiceCourtNameList.Count != courtIdList.Count) {
throw new ArgumentException("justiceCourtNameList and courtIdList must have the same length");
}
for(int i=0; i<justiceCourtNameList.Count; i++) {
string justiceCourtName = justiceCourtNameList[i];
double courtId = courtIdList[i];
// DO HERE WHATEVER YOU WANT HERE
}
List justiceCourtNameList=。。。
列出法院IDList=。。。
if(justiceCourtNameList.Count!=courtIdList.Count){
抛出新的ArgumentException(“justiceCourtNameList和courtIdList必须具有相同的长度”);
}
对于(int i=0;i如果我正确理解了您的问题,您需要的是扩展方法:
var results = courtIdList
.Zip(justiceCourtNameList,
(lawCourtId, lawCourtName) =>
new LawCourt
{
JusticeCourtID = lawCourtId,
Name = lawCourtName
)};
它并行枚举列表,并将第一个列表中的当前项与第二个列表中的当前项相关联。lambda表达式根据输入序列中的一对项指定在输出序列中返回的内容。编辑是可以的,请帮助感谢您是否尝试获取justiceCou的所有组合rtNameList
和courtIdList
或其他什么?问题还很不清楚。我如何使用多个foreach Thanks如果nameList和idList的计数相同,您可以使用for loop…“我如何…”:有多个选项“使用多个foreach
loop”,这是有意义的,这取决于你想做什么。但这并不清楚(当然,有时有人会猜对)。