C# 如何在无法访问add()方法的情况下向列表中添加值?
我正在使用ctrader的API(),我想将2D列表(称为list)中的所有值添加到两个1D列表(称为output1,output2)中 如果IndicatorDataSeries类型没有add方法,是否有其他方法可以将值列表添加到两个输出中 我也是C#和这个api的新手,所以我可能遗漏了一些明显的东西。 谢谢,例如,您可能需要致电C# 如何在无法访问add()方法的情况下向列表中添加值?,c#,C#,我正在使用ctrader的API(),我想将2D列表(称为list)中的所有值添加到两个1D列表(称为output1,output2)中 如果IndicatorDataSeries类型没有add方法,是否有其他方法可以将值列表添加到两个输出中 我也是C#和这个api的新手,所以我可能遗漏了一些明显的东西。 谢谢,例如,您可能需要致电 output1 = CreateDataSeries(); output2 = CreateDataSeries(); 在循环之前。然后,不要调用Add方法,而是
output1 = CreateDataSeries();
output2 = CreateDataSeries();
在循环之前。然后,不要调用Add
方法,而是直接使用[]
操作符进行操作
p、 我不熟悉cTrader。这可能不是正确的方式/方法。从文档中可以看到,IndicatorDataSeries是用“magic”方法创建的,后来通过index属性填充的
var series = CreateDataSeries();
var index = "some-index-value"
series[index] = 200 * someFactor; // dummy example
对于您的数据结构东西
它可以如下所示:
foreach (var thing in List.SelectMany(list => list))
{
output1[thing.value1] = thing.value2;
output2[thing.value2] = thing.value1;
}
soo这是什么
指示符号DataSeries
-类?您不认为知道如何解决您的问题会有帮助吗?根据您提供的文档,IndicatorDataSeries是一个IEnumerable,而不是列表(两种不同的东西),因此没有Add方法,也没有任何添加元素的方法。您唯一的解决方案是使用其他内容(例如列表)。
var series = CreateDataSeries();
var index = "some-index-value"
series[index] = 200 * someFactor; // dummy example
foreach (var thing in List.SelectMany(list => list))
{
output1[thing.value1] = thing.value2;
output2[thing.value2] = thing.value1;
}