从多个循环中取一个值
本文关键字:一个 循环 | 更新日期: 2023-09-27 18:04:12
我有一个数组列表,我想从每个数组中获取一个值,并建立一个JSON结构。目前,对于每个管理策略,货币总是循环中的最后一个值。我怎么能采取第一个,然后第二个值等,而循环的名称?
List<managedstrategy> Records = new List<managedstrategy>();
int idcnt = 0;
foreach (var name in results[0])
{
managedstrategy ms = new managedstrategy();
ms.Id = idcnt++;
ms.Name = name.ToString();
foreach (var currency in results[1]) {
ms.Currency = currency.ToString();
}
Records.Add(ms);
}
var Items = new
{
total = results.Count(),
Records
};
return Json(Items, JsonRequestBehavior.AllowGet);
JSON结构为{Records:[{name: blah, currency: gbp}]}
假设我正确理解了这个问题,您可能想要查看Linq提供的Zip方法。它被用来"压缩"两个不同的列表,类似于拉链的工作原理。
相关问题可以在这里找到
目前,您将第二个循环嵌套在第一个循环中,导致它总是返回最后一个货币,您必须将它们全部放在一个大的for循环中,以便它做您想做的事情:
for (int i = 0; i < someNumber; i++)
{
// some code
ms.Name = results[0][i].ToString();
ms.Currency = results[1][i].ToString();
}