我有一个使用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<>
声明略有不同,所以我不确定什么错了。
答案 0 :(得分:0)
您希望输出什么?:
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
。< / p>