【发布时间】:2020-07-05 20:48:44
【问题描述】:
我有一个 Json 字符串,我想从中选择值大于 0 的元素“initialUnits”并将其添加到列表中。 如何将“x => x.initialUnits”转换为整数,以便测试它是正值还是负值。
我尝试了“Int32.Parse(x => x.initialUnits)”,它给出了错误“无法将 lambda 表达式转换为类型‘字符串’,因为它不是委托类型”。 还是有其他方法可以做到这一点?
var resultOpTrades = JsonConvert.DeserializeObject<RootObject>(Jsontrades);
var Sellopentradeslist = resultOpTrades
.trades
.Where(x => x.initialUnits > 0)
.Select(p => p.price)
.ToList()
.Select(s => Math.Round(Convert.ToDouble(s), 4))
.ToList();
【问题讨论】:
-
这到底是什么意思:将 "x => x.initialUnits" 转换为整数
-
请分享您的 json 和模型
-
您不会将
x => x.initialUnits转换为整数-您将x.initialUnits转换为整数,所以我怀疑您想要Where(x => Int32.Parse(x => x.initialUnits) > 0) -
.Where(x => Int32.Parse(x.initialUnits) > 0).. as"Int32.Parse(x => x.initialUnits)"毫无意义。 Parse 需要一个字符串,x.initialUnits 是一个字符串。x => x.initialUnits不是,它是一个什么都没有的 lambda。 -
Imo 它要么是错字,要么是 Int 重复的字符串。如果没有真正的minimal reproducible example,此处的代码不会重现错误,也不会提供足够的信息,因此我们可以为例如正确的类型提供自定义转换器。