リストであるオブジェクトプロパティを埋めるときに問題があります。私はあなたの問題をより良く示すことができるでしょう。複合プロパティを塗りつぶしているときにプロパティを上書きするリスト<Object>
Grupo grupo = null;
SubGrupo subGrupo = null;
if (Regex.IsMatch(linhaTrim, @"\b(?<!\.)([A-Z]{1,})(?!\.)\b"))
{
grupo = new Grupo(Convert.ToInt32(arraySplit[arraySplit.Length - 1]), grupoTextoTrim);
if (grupoTextoTrim.Equals("DISPONIBILIDADE DE DOCUMENTOS OFICIAIS"))
{
grupo.ler = false;
indice.Add(grupo);
break;
}
else
{
grupo.ler = true;
}
grupo.SubGrupos = new List<SubGrupo>();
indice.Add(grupo);
}
else
{
//aqui será feita a verificação se existe ou não no indice um determinado subgrupo
//subGrupo = new SubGrupo(Convert.ToInt32(arraySplit[arraySplit.Length - 1]), grupoTexto.Trim());
subGrupo = new SubGrupo();
subGrupo = subGrupos.FirstOrDefault(x => x.descricao.Equals(grupoTextoTrim));
subGrupo.pagina = Convert.ToInt32(arraySplit[arraySplit.Length - 1]);
grupo.SubGrupos.Insert(grupo.SubGrupos.Count, subGrupo);
}
問題は、このラインである:私のループで subGrupo.pagina = Convert.ToInt32(arraySplit[arraySplit.Length - 1]);
、descricaoの宿泊施設では、いくつかの同一の参照と、それらの同一基準の差がSubGrupoオブジェクトのプロパティページがあります。ループの後
、私は私のリストをチェックしたときに、私はこのようなものが必要です:
Grupo descricao : x SubGrupo : descricao : y pagina : y End SubGrupo End Grupo Grupo descricao : x SubGrupo : descricao : y pagina : z End SubGrupo End Grupo
をしかし、今paginaに同じ値を返しています。
誰でも私を助けることができますか?
ありがとうございます!
あなた 'subGrupo.pagina'は常に同じ値を返します。 ( 'arraySplit'の最後の値)を追加しない限り、他のコードでは追加されません。この配列の別の値を取得する必要がありますか? – levelonehuman
Plsは私がCKのために作ったコメントを見ます。私はそれが私の問題を解決したと思う。 FirstOrDefaultを実行するときに、各反復でsubGrupo.paginaを追加して別のオブジェクトを取得します。あなたはそれについて心配している場合は、plsは私に教えてください? Tks! – ruynunes