Ich habe Probleme beim Füllen meiner Objekteigenschaft, die eine Liste ist. Unten werde ich Ihnen das Problem besser zeigen können.Eigenschaft überschreiben, wenn ich meine komplexe Eigenschaft befülle Liste <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);
}
Das Problem ist in dieser Zeile: subGrupo.pagina = Convert.ToInt32(arraySplit[arraySplit.Length - 1]);
Bei meiner Schleife gibt es einige identischen Referenzen auf DESCRIÇÃO Eigenschaft und der Unterschied zwischen diesem identischen Bezug werden die Eigenschaftenseite bei SubGrupo Objekt.
Nach der Schleife, wenn ich meine Liste überprüfen sollte ich so etwas wie dieses:
Grupo descricao : x SubGrupo : descricao : y pagina : y End SubGrupo End Grupo Grupo descricao : x SubGrupo : descricao : y pagina : z End SubGrupo End Grupo
Aber jetzt den gleichen Wert für pagina zurückkehrt.
Kann mir jemand helfen?
Vielen Dank im Voraus!
Ihren 'subGrupo.pagina' immer den gleichen Wert zurück:
Wenn
grupoTextoTrim
außerhalb Schleife initialisieren, oder in jeder Iteration mit dem gleichen Wert initialisiert wird, wird Kopie gleichen Objekt zur Liste hinzugefügt werden (Der letzte Wert in 'arraySplit'), es sei denn, Sie fügen etwas anderem Code hinzu, der nicht gepostet wurde. Sollten Sie dafür einen anderen Wert im Array abrufen? – levelonehumanBitte schauen Sie sich den Kommentar an, den ich für CK gemacht habe. Ich denke, das hat mein Problem gelöst. Ich füge das subGrupo.pagina in jeder Iteration hinzu, um ein anderes Objekt zu erhalten, wenn ich den FirstOrDefault mache. Wenn Sie irgendwelche Bedenken haben, bitte sagen Sie mir ok? Tks! – ruynunes