Math.net 在 class 方法中读取的数据未分配给 class 成员
Math.net data read in class method not assigned to class member
我有一个 class 库,其中包含使用 Math.net
的对象。该库包含 classes,其中包含数据和方法。作为试验,我正在实例化一个成员 class 的对象,然后调用 load 方法用文件中的数据填充该对象。但是,加载的数据不会传递给新对象。当我将对象转储到屏幕时,我得到:
EchoStateNet.EchoState+Input
我应该从哪里获取数据转储。在带有 class 定义和调用它的测试的库下方。
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
class 永远不会覆盖 .ToString()
方法,因此 System.Object
的默认实现是输出 class 名称。这是哪个:
EchoStateNet.EchoState+Input
如果您想输出其他内容,请覆盖 class 中的 .ToString()
方法。像这样:
public override string ToString()
{
// return some string representation here
}
至于您的对象 应该 的有效字符串表示形式是什么,这取决于您。您的对象所持有的唯一状态是 Matrix<double>
。我不熟悉那种类型,所以我不知道人们可能期望它是什么样子。但是无论你想要它看起来像什么,你都可以在 ToString()
方法中对其进行格式化(使用 StringBuilder
and/or string.Format()
和 return 之类的结果 string
.
我有一个 class 库,其中包含使用 Math.net
的对象。该库包含 classes,其中包含数据和方法。作为试验,我正在实例化一个成员 class 的对象,然后调用 load 方法用文件中的数据填充该对象。但是,加载的数据不会传递给新对象。当我将对象转储到屏幕时,我得到:
EchoStateNet.EchoState+Input
我应该从哪里获取数据转储。在带有 class 定义和调用它的测试的库下方。
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
class 永远不会覆盖 .ToString()
方法,因此 System.Object
的默认实现是输出 class 名称。这是哪个:
EchoStateNet.EchoState+Input
如果您想输出其他内容,请覆盖 class 中的 .ToString()
方法。像这样:
public override string ToString()
{
// return some string representation here
}
至于您的对象 应该 的有效字符串表示形式是什么,这取决于您。您的对象所持有的唯一状态是 Matrix<double>
。我不熟悉那种类型,所以我不知道人们可能期望它是什么样子。但是无论你想要它看起来像什么,你都可以在 ToString()
方法中对其进行格式化(使用 StringBuilder
and/or string.Format()
和 return 之类的结果 string
.