Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法解释令牌'';位置5_C# - Fatal编程技术网

C# 无法解释令牌'';位置5

C# 无法解释令牌'';位置5,c#,C#,我有一个名为'Jul'的列,其中包含一些值,如'123'和'-'。我试图通过添加值并忽略“-”来获得列的和。我试过: object julysum; julysum = Convert.ToDouble(FormattedPurchaseSummaryTable.Compute("SUM(Jul)", "Jul != '-'")); 但我得到了一个错误:无法解释令牌“!”在第5位。 如何解决此错误?没有=操作员 您可能需要 有关可用运算符的更多信息,请阅读此处:已经向您介绍了表达式语言。解决了

我有一个名为'Jul'的列,其中包含一些值,如'123'和'-'。我试图通过添加值并忽略“-”来获得列的和。我试过:

object julysum;
julysum = Convert.ToDouble(FormattedPurchaseSummaryTable.Compute("SUM(Jul)", "Jul != '-'"));
但我得到了一个错误:
无法解释令牌“!”在第5位。

如何解决此错误?

没有
=操作员

您可能需要

有关可用运算符的更多信息,请阅读此处:

已经向您介绍了表达式语言。解决了第一个问题后,我们需要解决第二个问题,即
Jul
是字符串,而不是整数(或浮点等)。所以我们也需要转换它

但是,我认为它不支持在
总和
中使用复杂的表达式来进行
转换

因此,我认为您需要做的是添加一个新的
DataColumn
,其表达式如下:

IIF(Jul != '-',CONVERT(Jul,'System.Int32'),0)

然后在这个新列上计算您的
SUM

尝试
julysum=Convert.ToDouble(FormattedPurchaseSummaryTable.compute(“SUM(Jul)”,“Jul'-”)
=
是C#不等式运算符,您需要使用
。嗨@TetsuyaYamamoto,
是什么意思?我替换了
=使用
但现在我得到:
聚合函数Sum()的用法无效,并键入:String。
嗨@Blam,我替换了
=
一起使用,现在我发现:
聚合函数Sum()和Type:String的用法无效。
的确如此!这里有这样一句话:聚合只能应用于单个列,不能在聚合中使用其他表达式。因此,需要一个新列才能在aggregate@Damien_The_Unbeliever,是否需要添加另一个
数据列
?还有其他方法吗?@AdityaPradhan-我提供了一个链接,Rob提供了另一个链接,都说在聚合函数中只允许使用普通列名。当然,你可以从一开始就强制
Jul
成为
int
,但是,你只需要在填充表时处理
-
s,因为
int
不能包含非数字的内容。@Damien\u不信者我明白了你的意思,并尝试添加另一个临时列,但我再次遇到同样的错误。