我正在尝试在C#中创建遗传算法,但我想将基因分成类(染色体)
基本上我有一个定义为]的DNA类>
public class DNA<T> { public T[] Genes { get; private set; } }
所以我可以拥有double,bool,int等类型的基因...
然后我想将染色体定义为
class Chromosome { Dictionary<string, DNA<T>> chromosomes; }
所以我将能够向染色体添加多种DNA类型,例如
chromosomes.add("brain", new DNA<double>(...)); chromosomes.add("traits", new DNA<bool>(...)); chromosomes.add("body", new DNA<int>(...));
应该将字典值设为
object
还是让我为DNA类创建一个IDNA
接口以容纳该对象,然后在需要时将其强制转换?还是有更简单/最好的方法来做到这一点?谢谢!
[我正在尝试使用C#创建遗传算法,但我想将基因分为几类(染色体),基本上我有一个DNA类,定义为公共类DNA
对于您编写的多种基因,您可以使用接口/抽象类。