如何在 C# 中使用 class 作为模板?
How do I use a class as a template in C#?
我不确定我问的是否正确,请耐心等待。我目前正在尝试对神经网络进行编程。下面是一些示例代码。
using System;
namespace Network
{
class BaseNeuron
{
public static void Main (string[] args)
{
public int Weight;
public void sendPulse()
{
}
public void receivePulse()
{
}
}
}
}
所以基本上,我希望能够创建 BaseNeuron class 的多个实例,每个实例 "neuron" 与其他 "neurons" 相关联以创建一个神经元网络。有什么方法可以做到这一点而不必为每个神经元重复这段代码吗?
首先,您提供的代码中存在一些错误:
class BaseNeuron
{
public static void Main (string[] args)
{
public int Weight;
public void sendPulse()
{
}
public void receivePulse()
{
}
}
}
应该是:
class BaseNeuron
{
//class field
public int Weight;
//class method
public void SendPulse(/*Parameters ...*/)
{
//Do stuff
}
//class method
public void ReceivePulse(/*Parameters ...*/)
{
//Do stuff
}
}
注意 Main
不见了。 类 通常没有 Main
方法,它通常只是应用程序的 入口点 (程序运行时第一个执行的函数) .
基本上,每个 class 都是对象 的模板 ,这意味着您可以创建新的 实例 class 通过使用 new
关键字,像这样:
//creating two seperate neurons
neuron1 = new BaseNeuron();
neuron2 = new BaseNeuron();
//Notice that each SendPulse is called on separate objects!
neuron1.SendPulse();
neuron2.SendPulse();
我建议您阅读一些有关 class(也许 here)的内容,以便更好地理解其工作原理。
好的,现在我们 class 想通了。你说我们想做一个由几个神经元组成的网络,这些神经元是上面 class 的实例。
所以,您可能想要做的是:
class Program
{
public void Main(string[] args)
{
//the size of the network
int size = 5;
//create array of Neurons
BaseNeuron[] network = new BaseNeuron[size];
for(int i = 0; i < network.length; i++)
{
//actually create a new nueron (instantiate them)
network[i] = new BaseNeuron();
//link up neurons together, etc
}
}
}
当然,实现取决于BaseNeuron
class的内部实现。您可能还需要创建一个 NeuralNetwork
class 来包含上述代码和相关函数。
我不确定我问的是否正确,请耐心等待。我目前正在尝试对神经网络进行编程。下面是一些示例代码。
using System;
namespace Network
{
class BaseNeuron
{
public static void Main (string[] args)
{
public int Weight;
public void sendPulse()
{
}
public void receivePulse()
{
}
}
}
}
所以基本上,我希望能够创建 BaseNeuron class 的多个实例,每个实例 "neuron" 与其他 "neurons" 相关联以创建一个神经元网络。有什么方法可以做到这一点而不必为每个神经元重复这段代码吗?
首先,您提供的代码中存在一些错误:
class BaseNeuron
{
public static void Main (string[] args)
{
public int Weight;
public void sendPulse()
{
}
public void receivePulse()
{
}
}
}
应该是:
class BaseNeuron
{
//class field
public int Weight;
//class method
public void SendPulse(/*Parameters ...*/)
{
//Do stuff
}
//class method
public void ReceivePulse(/*Parameters ...*/)
{
//Do stuff
}
}
注意 Main
不见了。 类 通常没有 Main
方法,它通常只是应用程序的 入口点 (程序运行时第一个执行的函数) .
基本上,每个 class 都是对象 的模板 ,这意味着您可以创建新的 实例 class 通过使用 new
关键字,像这样:
//creating two seperate neurons
neuron1 = new BaseNeuron();
neuron2 = new BaseNeuron();
//Notice that each SendPulse is called on separate objects!
neuron1.SendPulse();
neuron2.SendPulse();
我建议您阅读一些有关 class(也许 here)的内容,以便更好地理解其工作原理。
好的,现在我们 class 想通了。你说我们想做一个由几个神经元组成的网络,这些神经元是上面 class 的实例。 所以,您可能想要做的是:
class Program
{
public void Main(string[] args)
{
//the size of the network
int size = 5;
//create array of Neurons
BaseNeuron[] network = new BaseNeuron[size];
for(int i = 0; i < network.length; i++)
{
//actually create a new nueron (instantiate them)
network[i] = new BaseNeuron();
//link up neurons together, etc
}
}
}
当然,实现取决于BaseNeuron
class的内部实现。您可能还需要创建一个 NeuralNetwork
class 来包含上述代码和相关函数。