如何在C#中使用类作为模板?

我不是很确定我是否问得正确,请耐心一些。我目前正在尝试编程一个神经网络。下面是一些示例代码。

using System;namespace Network{    class BaseNeuron        {            public static void Main (string[] args)            {                public int Weight;                public void sendPulse()                {                }                public void receivePulse()                {                }            }        }    }

所以,基本上,我希望能够创建BaseNeuron类的多个实例,每个“神经元”与其他“神经元”连接以构成一个神经网络。有什么方法可以做到这一点,而不必为每个神经元重复这段代码吗?


回答:

首先,你提供的代码中有一些错误:

class BaseNeuron{    public static void Main (string[] args)    {        public int Weight;        public void sendPulse()        {        }        public void receivePulse()        {        }    }}

它应该这样写:

class BaseNeuron{                //类字段    public int Weight;    //类方法    public void SendPulse(/*参数...*/)    {        //执行操作    }    //类方法    public void ReceivePulse(/*参数...*/)    {        //执行操作    }            }

请注意,Main方法已经删除。类通常没有Main方法,Main方法通常只是应用程序的入口点(程序运行时首先执行的函数)。

基本上,每个类都是对象的模板,这意味着你可以使用new关键字创建类的新实例,如下所示:

//创建两个独立的神经元neuron1 = new BaseNeuron();neuron2 = new BaseNeuron();//注意,每个SendPulse是在不同的对象上调用的!neuron1.SendPulse();neuron2.SendPulse();

我建议你阅读一些关于类的内容(可能这里),以更好地理解这是如何工作的。

好了,现在我们已经弄清楚了类。你说我们想要创建一个由几个神经元组成的网络,这些神经元是上面类的实例。所以,你可能想要做的是:

class Program{    public void Main(string[] args)    {        //网络的大小        int size = 5;        //创建神经元数组        BaseNeuron[] network = new BaseNeuron[size];        for(int i = 0; i < network.length; i++)        {            //实际创建一个新神经元(实例化它们)            network[i] = new BaseNeuron();            //将神经元连接起来,等等        }    }}

当然,具体实现取决于BaseNeuron类的内部实现。你可能还需要创建一个NeuralNetwork类来包含上述代码和相关功能。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注