|
> Geneに新しい配列を代入するなり、Indivisual[i]にnew GeneType(int, int)を代入するなりする必要があります。
勉強不足過ぎてあまり理解できていませんが、←の部分にコードを書きくわえてみました。 「nullreferenceexceptionはハンドルされませんでした」というエラーは返ってきませんでしたが、Geneに1つしか文字列が格納されていないようでした。
以下、ソースコードです。
using System;
public struct GeneType { public string[] Gene; public int Fitness;
public GeneType(int geneNumber, int Fitness = 0) { this.Gene = new string[geneNumber]; this.Fitness = Fitness; } }
class Compose { public static void Main() { string[] Note = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p" };
Random random = new Random();
int geneNumber = 16; int indNumber = 20;
GeneType[] Individual = new GeneType[indNumber];
for (int i = 0; i < indNumber; i++) { Individual[i] = new GeneType();//<-------------------------- for (int j = 0; j < geneNumber; j++) { Individual[i].Gene=new string[16];//<---------------------- int RandomNumber = random.Next(Note.Length); Individual[i].Gene[j] = Note[RandomNumber]; } } } }
|