Zurück tutorials.de > Programming > .NET > .NET Café

 
 
Hallo und herzlich willkommen! Tutorials.de ist eine Hilfe-Community mit dem Motto User helfen Usern. Als Gast verfügst Du über Schreibrechte in unseren Foren und Blogs. Du kannst dich aber gerne auch kostenlos registrieren und Teil unserer Gemeinschaft werden! Viel Spaß & Erfolg bei der Vermehrung deines Wissens :-)

Themen: 242.975 | Beiträge: 1.352.293 | Mitglieder: 169.418 (Stand 28.01.10) | Fragen zur Nutzung von Tutorials.de? Nutzungsregeln | Kontaktformular | Impressum

Jubiläums-Countdown 23.02 23.03 23.04 23.05 23.06 23.07 23.08 23.09


4 kostenlose Bücher bei unserer Buch-Verschenkaktion 03/2010
  AntwortAntworten (über Gastzugang)    
  AntwortAntworten (über Gastzugang)    
 
Themen-Optionen Ansicht
Alt 02.07.07, 16:01   #1 (permalink)
Mitglied Platin
 
Benutzerbild von kuhlmaehn  
 
Registriert seit: May 2003
Beiträge: 553
Renommee-Modifikator: 16
kuhlmaehn sorgt für eine eindrucksvolle Atmosphäre

Array im Array ohne Mengenangaben

Hi!
Sorry für den blöden Titel ;(

Ich habe mehere geometrische Figuren, welche aus unterschiedlich vielen Punkten bestehen.
Es sind auch immer unterschiedliche viele Figuren.
Diese Daten lese ich aus einer Textdatei aus und will sie dann in ein Array schreiben.
Die Koordinatenpunkte kann ich ja wunderbar in ein Array schreiben. Da ich ja mehere Figuren habe will ich auch für jede ein eigenes Array haben, nur weiss ich ja vorher nicht wieviele.
Also brauch ich irgendetwas wo ich, wenn die Textdatei geladen wird, die Daten reinschreibe.
Ich stelle mir das so vor:
Daten(1,1) gibt die erste Koordinate der ersten Figur aus. Daten (1,2) die 2. Koordinate usw.
Das Problem ist nur, dass ja jede Figur unterschiedlich viele Koordinaten hat. also würde zB das erste nur bis (1,5) gehen, das 2. jedoch bis (2,12).
Also, ich weiss vorher nicht wie viele Figuren und auch nicht wie viele Koordinaten jede der Figuren hat. Wie kann ich das am besten speichern?
Danke!
  kuhlmaehn ist offline  
 
Alt 02.07.07, 16:17   #2 (permalink)
admin | crazy-weasel
 
Benutzerbild von Alexander Schuc tutorials.de Administrator 
 
Registriert seit: Aug 2001
Ort: Österreich, Stmk, Graz
Beiträge: 2.626
Renommee-Modifikator: 38
Alexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes Ansehen

AW: Array im Array ohne Mengenangaben

Hallo.

Zum Problem mit der Arraygröße: Nimm eine dynamische Liste. ArrayList (System.Collections.ArrayList) oder besser eine generische List (System.Collections.Generic.List).

Wenn du jetzt eine Liste von Listen von Punkten haben willst, könnte das so aussehen:

csharp Code:
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
using System.Collections.Generic;
using System.Drawing;
...
List<List<Point>> figures = new List<List<Point>>();
 
List<Point> fig1 = new List<Point>();
fig1.Add(new Point(10, 10));
fig1.Add(new Point(20, 20));
 
figures.Add(fig1);

Statt der Liste mit Punkten könntest auch einen GraphicsPath benutzen ;D - Oder eine eigene Klasse .. je nachdem was du brauchst..

lg,..
__________________
[SC:10] tutorials.de Skihasen - User auf der Piste! - Aktuelle Platzierungen

With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
Aaron Satie

Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
Captain Jean-Luc Picard, Stardate ~41294.5

Tutorials.de chattet.
Klickt oben auf Chat, oder verbindet zu irc.tutorials.de - Channel #Tutorials.de

(moo)blog furred.net // BlogEngine.net Extensions
  Alexander Schuc ist offline  
 
Alt 02.07.07, 16:42   #3 (permalink)
Mitglied Platin
 
Benutzerbild von kuhlmaehn  
 
Registriert seit: May 2003
Beiträge: 553
Renommee-Modifikator: 16
kuhlmaehn sorgt für eine eindrucksvolle Atmosphäre

AW: Array im Array ohne Mengenangaben

Danke
Mh, und wie kann ich dann dadrauf zugreifen? Nicht so schön übersichtlich wie wenn es ein Array wäre oder?
Ach Mensch das sind alles so viele neue Sachen das ich gar nicht vorankomme ;(
Vielleicht guck ich mir wirklich mal ganz genau den GraphicsPath an bevor ich irgendwas unnötiges einbaue
Bei deinem Code versteh ich wieder mal gar nichts.. seit wann gibt es denn bei C# < und > !?
Achjah.. und ich dachte immer ich kann mir jede Programmiersprache schnell draufschaffen -.-
  kuhlmaehn ist offline  
 
Alt 02.07.07, 16:45   #4 (permalink)
admin | crazy-weasel
 
Benutzerbild von Alexander Schuc tutorials.de Administrator 
 
Registriert seit: Aug 2001
Ort: Österreich, Stmk, Graz
Beiträge: 2.626
Renommee-Modifikator: 38
Alexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes Ansehen

AW: Array im Array ohne Mengenangaben

Zugriff erfolgt wie bei einem Array..

csharp Code:
  1.  
  2.  
List<Point> afigure = figures[0];
Point p1 = afigure[0];

Zu Generics hab ich dir gestern schon einen Link gegeben. Das Feature gibts, ich glaub ich habs auch schon erwähnt, seit C# 2.0. (.net 2.0, VisualStudio 2005 .. )
__________________
[SC:10] tutorials.de Skihasen - User auf der Piste! - Aktuelle Platzierungen

With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
Aaron Satie

Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
Captain Jean-Luc Picard, Stardate ~41294.5

Tutorials.de chattet.
Klickt oben auf Chat, oder verbindet zu irc.tutorials.de - Channel #Tutorials.de

(moo)blog furred.net // BlogEngine.net Extensions
  Alexander Schuc ist offline  
 
Alt 02.07.07, 17:01   #5 (permalink)
Mitglied Platin
 
Benutzerbild von kuhlmaehn  
 
Registriert seit: May 2003
Beiträge: 553
Renommee-Modifikator: 16
kuhlmaehn sorgt für eine eindrucksvolle Atmosphäre

AW: Array im Array ohne Mengenangaben

Mh und wie kann ich dann unterscheiden um welche Figur es sich gerade handelt?
Es soll auch möglich sein zB zwei Figuren zu einer zu Verbinden indem ich bei jeder Figur eine Linie angebe und die Figuren dann an diesen Linien zusammengefügt werden (zB das aus zwei Quadraten ein Rechteck wird wird, oder aus zwei Dreicken ein Trapez oder eine Raute)
Dafür muss ich ja dann auch die Koordinaten neu anordnen oder? Und danach sollten die neuen Koordinaten bzw. die neue Figur dann auch anstelle der beiden in dem Array oder der Liste stehen.
Bei der Liste bzw. deinem Code ist mir irgendwie nicht klar wie ich das anstellen soll.
Ein Array finde ich irgendwie viel anschaulicher.
Ist die Liste oder der Grafikpath dafür wirklich geeignet? Ich hoffe nicht dann muss ich da nicht durchsteigen X(
  kuhlmaehn ist offline  
 
Alt 02.07.07, 17:14   #6 (permalink)
admin | crazy-weasel
 
Benutzerbild von Alexander Schuc tutorials.de Administrator 
 
Registriert seit: Aug 2001
Ort: Österreich, Stmk, Graz
Beiträge: 2.626
Renommee-Modifikator: 38
Alexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes AnsehenAlexander Schuc genießt hohes Ansehen

AW: Array im Array ohne Mengenangaben

Eine Liste ist nichts anderes als ein dynamisches Array.. da kannst ohne Probleme neue Punkte einfügen, ohne das du Stress mit der Arraygröße bekommst.

Beschäftige dich mal genauer mit den ganzen Sachen die bisher erwähnt wurden, und probier manche Sachen einfach mal aus..
__________________
[SC:10] tutorials.de Skihasen - User auf der Piste! - Aktuelle Platzierungen

With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
Aaron Satie

Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
Captain Jean-Luc Picard, Stardate ~41294.5

Tutorials.de chattet.
Klickt oben auf Chat, oder verbindet zu irc.tutorials.de - Channel #Tutorials.de

(moo)blog furred.net // BlogEngine.net Extensions
  Alexander Schuc ist offline  
 
Alt 02.07.07, 17:36   #7 (permalink)
Mitglied Platin
 
Benutzerbild von kuhlmaehn  
 
Registriert seit: May 2003
Beiträge: 553
Renommee-Modifikator: 16
kuhlmaehn sorgt für eine eindrucksvolle Atmosphäre

AW: Array im Array ohne Mengenangaben

Mh ok das klingt gut, dann muss ich mich da wohl oder übel mal vernünftig reinarbeiten =)
Vielen Dank bis hier
  kuhlmaehn ist offline  
 
Alt 10.07.07, 17:14   #8 (permalink)
Mitglied Platin
 
Benutzerbild von kuhlmaehn  
 
Registriert seit: May 2003
Beiträge: 553
Renommee-Modifikator: 16
kuhlmaehn sorgt für eine eindrucksvolle Atmosphäre

AW: Array im Array ohne Mengenangaben

So, nach etlichem Lesen und Probieren später bin ich mir eigentlich sicher, dass das was ich gerne hätte nicht geht oder ich es (mal wieder) nicht verstanden habe.

Die Liste ist erstmal super für mein Vorhaben. Mein Problem ist nur nachwievor, dass ich gerne für jede Figur eine eigene Liste hätte, aber vorm Programmstart nicht weiss wie viele.
Ich dachte jetzt an sowas:
csharp Code:
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
List<int>[] bla = new List<int>()[2];
 
            bla[0].Add(1);
            bla[0].Add(2);
            bla[0].Add(3);
 
            bla[1].Add(1);
            bla[1].Add(2);
            bla[1].Add(3);
Was natürlich nicht geklappt hat

Gibt es denn irgendeine Möglichkeit das so zu machen?
Danke!

[Edit]
Ok ich löse das jetzt mit einer temporären Liste wo ich was zwischenspeichere. Das müsste auch gehen.
Es würde mich aber immernoch interessieren ob das von oben funktioniert

Geändert von kuhlmaehn (11.07.07 um 11:15 Uhr).
  kuhlmaehn ist offline  
 
Alt 11.07.07, 14:28   #9 (permalink)
Webdesigner und MSP
 
Benutzerbild von Razorhawk  
 
Registriert seit: Aug 2002
Ort: Berlin
Beiträge: 1.368
Renommee-Modifikator: 21
Razorhawk hat eine blütenweiße Weste

AW: Array im Array ohne Mengenangaben

Eine Möglichkeit wäre folgende


csharp Code:
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
ArrayList arrList = new ArrayList();
 
ArrayList.Add(new List<int>());
ArrayList.Add(new List<int>());
 
ArrayList[0]).Add(1);
ArrayList[0]).Add(2);
ArrayList[0]).Add(3);
 
ArrayList[1].Add(1);
ArrayList[1].Add(2);
ArrayList[1].Add(3);
 
/* Inhalt des Arrays:
 
1 2 3
1 2 3
 
 
Der Zugriff geht dann wie folgt
*/
 
((List<int>)ArrayList[0])[0] = 11;
((List<int>)ArrayList[1])[0] = 111;
 
/* Inhalt des Arrays:
 
11 2 3
111 2 3
*/
  Razorhawk ist offline  
 
 
 
Lesezeichen:


Themen-Optionen
Ansicht
Ähnliche Themen
 
Thema Autor Forum Antworten Letzter Beitrag
ganzen array ohne Kommata DocHentai Javascript & Ajax 2 23.01.07 15:50
Array ohne Schleife kopieren Lifmor Visual Basic 6.0 5 06.06.05 22:44
Array ohne Grössenangabe cibal_gina C/C++ 3 01.06.05 18:17
[PHP | MySQL] Werte aus einem Array zählen, nicht im Array Claas M PHP 8 01.08.04 11:23
C#: Array ohne definierte länge: MSuter C/C++ 7 09.09.02 13:21
» Tools
 
tutorials.de-Tools tutorial.de-Suchfeld tutorial.de-Widget tutorial.de-RSS-Feed tutorial.de-Banner
» Neue Links
 
Hits: 138
»
JHT's Planetary...
(Cinema 4D-Objekte)
Hits: 265
»
Tageslicht ohne GI
(Cinema 4D-Tutorials)
Hits: 153
»
Puzzle
(Cinema 4D-Tutorials)
Hits: 104
»
Lacreme
(Cinema 4D-Tutorials)
Hits: 195
»
Liquid Light
(Cinema 4D-Tutorials)
» Aktuelle Umfrage
 
Bist du mit der Geschwindigkeit der Tutorials.de-Website zufrieden?
Ja, es putzt mir glatt den Staub vom Bildschirm! - 80,41%
156 Stimmen
Nein, ich denke da muss noch nachgebessert werden... - 19,59%
38 Stimmen
Stimmen gesamt: 194
Du darfst bei dieser Umfrage nicht abstimmen.

 

Alle Zeitangaben in WEZ +1. Es ist jetzt 06:01 Uhr.


Powered by vBulletin® Version 3.8.5 (Deutsch) & vBadvanced CMPS v.3.2.0
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.5.0 RC2 ©2010, Crawlability, Inc.
Alle Rechte vorbehalten ©2000 - 2010 tutorials.de
Design by Mark, CSS by Maik & Sven Mintel
Seite generiert in 0,24707 Sekunden mit 26 queries