所以我有这个变量:
var productsInCart = (List<Dictionary<string, object>>)Session["ProductsInCart"];
列表中的字典有3个键。 “unit_price”,“name”和“quantity”,其中包含不同的值。
我怎样才能以最好的方式将字典objekt与最低的unit_price对话并将该unit_price转换为int变量。我不知道如何做到这一点我已经尝试但是绝对没有人可以帮助我吗?
答案 0 :(得分:1)
此代码较长,但它管理空集合和无效数字键
var dict_object = productsInCart.Where(x => int.TryParse($"{x["unit_price"]}", out i))
.OrderBy(x => (int)x["unit_price"]).FirstOrDefault();
int u_price = (dict_object != null) ? (int)dict_object["unit_price"] : 0;
答案 1 :(得分:0)
使用LINQ应该很容易。我假设您需要将unit_prices解析为int,请注意:如果数据无法转换为int,则会抛出异常。
int result = productsInCart.Select(x => int.Parse(x["unit_price"])).Min();