Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.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# 变量不是组C中允许的类型_C# - Fatal编程技术网

C# 变量不是组C中允许的类型

C# 变量不是组C中允许的类型,c#,C#,我正在尝试使我的代码与以下代码的功能相匹配: var data = new Dictionary<string, object>() { { "state", new string[] { "Ohio", "Ohio", "Ohio", "Nevada", "Nevada" } }, { "year", new int[] { 2000, 2001, 2002, 2001, 2002 } },

我正在尝试使我的代码与以下代码的功能相匹配:

var data = new Dictionary<string, object>() {
                    { "state", new string[] { "Ohio", "Ohio", "Ohio", "Nevada", "Nevada" } },
                    { "year", new int[] { 2000, 2001, 2002, 2001, 2002 } },
                    { "pop", new double[] { 1.5, 1.7, 3.6, 2.4, 2.9 } }
                };
我当前的代码:

var data = new Dictionary<string, object>() {
                            { "targetValue", calc.ListCalculationData.Select(i => i.MRTargetValue).ToArray<decimal>() },
                            { "ema12", calc.ListCalculationData.Select(i => i.Ema12).ToArray<decimal>() },
                            { "ema26", calc.ListCalculationData.Select(i => i.Ema26).ToArray<decimal>() },
                            { "ema", calc.ListCalculationData.Select(i => i.Ema).ToArray<decimal>() }
                            };

var df1 = DataFrame.FromColumns(data);
var model2 = new LinearRegressionModel(df1, "targetValue ~ ema12 + ema26 + ema"); <= This line gives me the error
我从我使用的api中得到以下错误,这是极端优化C api,下面是参考url:


变量不是组中允许的类型。

我没有看到任何使用decimal类型的文档或示例,但我无法验证,因为我没有访问库的权限

有一些例子使用了双重类型。如果精度可以接受,这可能是一种选择。尝试这样定义数据变量,在选择中转换为双精度,然后转换为数组:

var data = new Dictionary<string, object>() {
                            { "targetValue", calc.ListCalculationData.Select(i => (double)i.MRTargetValue).ToArray() },
                            { "ema12", calc.ListCalculationData.Select(i => (double)i.Ema12).ToArray() },
                            { "ema26", calc.ListCalculationData.Select(i => (double)i.Ema26).ToArray() },
                            { "ema", calc.ListCalculationData.Select(i => (double)i.Ema).ToArray() }
                            };

为什么不把它做成字典呢?小数的计算和其他浮点类型的计算有很大的不同。很可能图书馆不支持他们。Try.Cast.ToArray@CaiusJard我试过了,但在var dfi行参数1处收到了此错误消息:无法从“System.Collections.Generic.Dictionary”转换为“System.Collections.Generic.IDictionary”@jeroenmoster calc.ListCalculationData.Selecti=>I.Ema是一个IEnumerablew,这是哪一行给您的错误?