C#具有通用类型的类的字典

问题描述 投票:0回答:1

我正在尝试在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 {{public T [] ...

c# generics generic-programming generic-list
1个回答
0
投票

对于您编写的多种基因,您可以使用接口/抽象类。

© www.soinside.com 2019 - 2024. All rights reserved.