类方法中读取的Math.net数据未分配给类成员
本文关键字:分配 成员 数据 net 读取 Math 类方法 | 更新日期: 2023-09-27 18:22:03
我有一个类库,其中包含使用Math.net
的对象。该库包含包含数据和方法的类。作为一个试验,我实例化了一个成员类的对象,然后调用load方法,用文件中的数据填充对象。但是,加载的数据不会传递给新对象。当我将对象转储到屏幕上时,我得到:
EchoStateNet.EchoState+输入
我应该在哪里获得数据转储。下面是带有类定义和调用它的测试的库。
namespace EchoStateNet
{
public class EchoState
{
// class that holds network input data
public class Input
{
public Matrix<double> dataSet { get; set; } // matrix holding train / test / run input data
public Input() : base() { } // default constructor
// method to load network data
public void load(string filePath, string fileName)
{
try
{
dataSet = DelimitedReader.Read<double>(Path.Combine(filePath, fileName), false, ",", false); // read the input data
}
catch (Exception ex)
{
Console.WriteLine("Error loading data. Exception: " + ex);
}
}
}
而称之为的部分
namespace TestApplication
{
class Program
{
static void Main(string[] args)
{
EchoState.Input data = new EchoState.Input();
data.load("..''..", "MackeyGlass_t17.txt");
Console.WriteLine("Input data:");
Console.WriteLine(data.ToString());
}
}
}
我得到的输出表明,我可能没有正确地实例化对象,但Math.net的语法与典型的List<>
声明有点不同,所以我不确定出了什么问题。
您希望它输出什么?:
data.ToString()
Input
类从不重写.ToString()
方法,因此System.Object
的默认实现是输出类名。哪个是:
EchoStateNet.EchoState+输入
如果要输出其他内容,请重写类中的.ToString()
方法。类似这样的东西:
public override string ToString()
{
// return some string representation here
}
至于对象的有效字符串表示应该是,这取决于您自己。对象保持的唯一状态是Matrix<double>
。我不熟悉那种类型,所以我不知道人们会期望它是什么样子。但是,不管你想让它看起来像什么,你都可以在ToString()
方法中格式化它(使用StringBuilder
和/或string.Format()
之类的东西,并返回结果string
。