我有一个包含产品名称和相应价格的字典对象:
var products = new List<Dictionary<string, decimal>>()
{
new Dictionary<string, decimal> {{"product1", 10}},
new Dictionary<string, decimal> {{"product2", 20}},
new Dictionary<string, decimal> {{"product3", 30}}
};
然后我循环遍历并应用每个产品的一些计算:
foreach (var product in products)
{
foreach (KeyValuePair<string, decimal> kvp in product)
{
var result = GetRatePerProduct(kvp.Key) * kvp.Value;
}
}
GetRatePerProduct只需获取产品名称并返回十进制汇率。
基于此循环,计算结果将被插入到订单表中,该表包含每个产品的列,产品 1、产品 2、产品 3...
所以在循环之后,表格应该是这样的:
Product1 Product2 Product3 ...
12 24 36
我想过创建另一个这样的字典:
var results = new List<Dictionary<string, decimal>>();
并在 for 循环内填充它,然后在循环外使用此字典将数据插入 SQL 数据库。我在这个例子中缩短了产品的数量,但是我们将有 52 个产品,这个数字永远不会改变。
这种方法对吗?有没有更好的方法,可能使用 Linq?你能指出我用 Linq 做这件事的正确方向吗?
谢谢