Bool-Array lesen Problem

NewPenKid

Mitglied
Guten Morgen alle miteinander,
ich hab ein kleines Problem mit einem bool-Array!

Ich habe vier Medien. Und für Jedes Medium habe ich einen String = Belegt:
der so gefüllt ist: 00010011110001 ( 0 = false, 1 = true)
dies lese ich einzeln aus und Speichere es in ein bool-Array
((Falls ich hier schon einen Fehler habe würde ich mich freun wenn ihr mich darauf aufmerksam macht))

Code:
for(int iAnzahl=0; iAnzahl<Sender.LongLength; iAnzahl++)
{		
     string Zeile = Belegt[iAnzahl];
     string Zeile2 = Zeile;
     bool[] bSel = new bool[Sender.LongLength];
     for(int i=0; i<Zeile.Length; i++)
{
	acBuf = Convert.ToChar(Zeile2[0]);
	if(acBuf == '0')
	bSel[iAnzahl] = false;
	else
	bSel[iAnzahl] = true;
					
	Zeile2 = Zeile.Remove(0,i);	
}

Das ganze wird dann mit anderen Variablen in eine Struktur gespeichert.
Später greife ich wieder auf diese Struktur zu. Mein Problem ist das ich die werte aus
bSel nicht mehr rausbekomme, so dass ich sie vergleichen kann.

Praktisch, wenn ein true drin steht soll in meine Grid eine Bestimmt Spalte rot markiert werden.
Leider bekomm ich aber jeweils bloss 4 Felder und nicht die ganze Anzahl. Kann mir jemand helfen?

Momentan hab ich das so gelöst:
Code:
for(int j=0; j<oMedien.Count; j++)
{
      for(int i=0; i<med.bSelected.Length;i++)
      {
          if(med.bSelected[i])
	pDefinition.Sheets[0].Cells[m,j].BackColor = Color.Red;
          else
              fpDefinition.Sheets[0].Cells[m,j].BackColor = Color.White;		
     }
 
Mein Problem ist das ich die werte aus bSel nicht mehr rausbekomme, so dass ich sie vergleichen kann.
bSel ist lokal definiert. (Also global)

Und natülich brauchst Du ein 4-Dimensonalles Array. Du hast ja auch 4-Medien.
Alles Weitere dazu findest Du in der MSDN.

Hoffe Dir aber geholfen zu haben.

MFG cosmo
 
Ich hab meinen Fehler gefunden. Falls es jemanden interessiert.
Es war eigentlich nur ein kleiner Fehler:
Falscher Code:
Code:
for(int iAnzahl=0; iAnzahl<Sender.LongLength; iAnzahl++)
{		
     string Zeile = Belegt[iAnzahl];
     string Zeile2 = Zeile;
     bool[] bSel = new bool[Sender.LongLength];
     for(int i=0; i<Zeile.Length; i++)
{
	acBuf = Convert.ToChar(Zeile2[0]);
	if(acBuf == '0')
	bSel[iAnzahl] = false;
	else
	bSel[iAnzahl] = true;
					
	Zeile2 = Zeile.Remove(0,i);	
}
Ich habe bSel die Länge von Sender.LongLength gegeben, sodass immer nur 4 Werte drinstanden. Ich wollte aber für jeden Sender die Werte von Zeile.Length;
So sollte das Array aussehen:

bSel[0]; = true,false,false,true,true,false,false....
bSel[1]; = true,true,true,false,false,false,true.... usw.

Richtiger Code:
Code:
for(int iAnzahl=0; iAnzahl<Sender.LongLength; iAnzahl++)
{		
     string Zeile = Belegt[iAnzahl];
     bool[] bSel = new bool[Zeile.Length];
     for(int i=0; i<Zeile.Length; i++)
{
	acBuf = Convert.ToChar(Zeile[i]);
	if(acBuf == '0')
	bSel[i] = false;
	else
	bSel[i] = true;	
}
Falls jemand noch fragen zu diesem code hat einfach fragen!
Danke dir trozdem CosmoChaosmaker für deine Hilfe
 
Zurück