所以,我的“ Type1”代码可以正常工作了。我的问题是为什么“ Type2”不起作用?我认为从本质上讲,他们在做同样的事情,但是显然“ Type2”没有按照我期望的那样为Google图表构建JSON字符串。
/app
答案 0 :(得分:1)
Select
是一个延迟的操作。只需调用Select
,您就不会执行它。您还必须包含.ToArray()
或.ToList()
或使用foreach
循环执行它。
您是否执行过此操作:
data.Select(point => pieData.Append($@"['{point.Category}', {point.Count}],")).ToArray();
或者这个:
foreach (var x in data.Select(point => pieData.Append($@"['{point.Category}', {point.Count}],")))
{ }
然后该代码将起作用。
请记住,这仅适用于pieData.Append(...)
返回一个值。如果没有,那么这两种方法都无法编译。
答案 1 :(得分:0)
如果数据是列表或数组,则csn使用ForEach代替Select来进行目标响应:
data.ForEach(point => pieData.Append($@"['{point.Category}', {point.Count}],"));
或通过选择并加入:
var strings = data.Select(point => $@"['{point.Category}', {point.Count}]").ToList();
string pieData = string.Join(",", strings);