Autor Beitrag
Azzidodabass
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: Do 01.11.12 12:48 
Hallo an alle,

ich zerlege einen String aus Zahlen in Teilstücke und übergebe jede einzelne Zahl dann an ein ArrayList element:

ausblenden C#-Quelltext
1:
2:
3:
4:
 foreach (string item in split)
{
_Data.Add(new PointF(_Data.Count / 2f, (float)Convert.ToDouble(item)));
}


Dieser wird dann an ein PointF[][] übergeben:
ausblenden C#-Quelltext
1:
Data = new PointF[][] { (PointF[])_Data.ToArray(typeof(PointF)) };					


Wie könnte ich es realisieren, dass ich mehrere Strings zerlege und jedes dem Pointf[][] zuweise?

Also zum Beispiel für 3 Strings:
1,2,3,4
5,6
7,8,9,10

Diese werden dann zerlegt und dem Pointf[][] zugewiesen
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
Pointf[0][0] = 1
Pointf[0][1] = 2
........
Pointf[1][0] = 5
Pointf[1][1] = 6
........
Pointf[2][0] = 7
Pointf[2][1] = 8
Pointf[2][2] = 9
..........


Ich hoffe, Ihr könnt mir helfen.

Danke im Voraus

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
Palladin007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Do 01.11.12 13:43 
So ganz versteh ich nicht, was du jetzt vor hast.

Du hast also einen String aus Zahlen. Sind die Zahlen durch Kommata getrennt, oder nicht?

Wenn die Zahlen durch Kommata getrennt sind, kannst du simpel die Methode Split nehmen:
ausblenden C#-Quelltext
1:
string[] nums = text.Split(new Char [] {','});					


Wenn die Zahlen nicht durch Kommata getrennt sind und auch kein anderes Trennzeichen bekannt ist, dann musst du den Text manuell zerschnippeln.
Wenn du nun weißt, dass jede Zahl nur von 0 bis 9 sein kann, dann geht das einfach mit Substring, was dann so aussieht:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
string[] nums = new string[text.Length];
for (int i = 0; i < 0; i++)
{
    nums[i] = text.Substring(i, 1);
}


Es kommt bei beiden Varianten ein Array heraus, das aus den Zahlen des Strings besteht. Bei deinem ersten Beispiel sieht das dann so aus:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
nums
{
    [0]=>"1"
    [1]=>"2"
    [2]=>"3"
    [3]=>"4"
}



Wenn du nun ein mehrdimensionales Array hast, ist das auch nicht weiter schwer.
Du hast dann einfach dein Array, das die Texte enthält und erstellst ein Array, das die gleiche Länge hat, wie das Text-Array.
Mit einer simple for-Schleife arbeitest du dann das Text-Array ab und speicherst die erarbeiteten Array mit den Zahlen in das Pointf-Array an dem Index, den du auch beim Text-Array genutzt hast. Lässt sich also simpel in einer for-Schleife abklären.