Hallo zusammen,
ich versuche vergeblich einen statischen Array aus einer Klasse innerhalb der FormLoad
Methode zu kopieen und weiterzubearbeiten.
Hier mein Code:
ArrayCopy
private Array CaptionCopy;
private string obj;
private void frmMain_Load(object sender, System.EventArgs e)
{
ToolBoxTab arrList = new ToolBoxTab();
//this.CaptionCopy = arrList.CaptionName;
string[] CaptionCopy = new string[arrList.CaptionName];
Array.Copy(CaptionCopy, arrList.CaptionName);
foreach (string i in CaptionCopy)
{
ToolBoxTab obj = new ToolBoxTab();
obj.Caption = CaptionCopy(i);
obj.ImgIndex = -1;
tb.AddTab(obj);
tb.EndAllMovement();
tb.SelectedTab = 2;
}
}
Die Fehlermeldung besagt: Eine implizite KOnvertierung von strin[] in int ist nicht möglich obwohl ich nirgends eine int Zuweisung habe..
Wie müsste es richtig aussehen..
Danke im Vorraus
Sharp.New
Hallo sharp.new,
verrate uns doch einfach, in welcher Zeile der Fehler auftritt.
Davon abgesehen denke ich, dass wenn du die Zeile weißt, du den Fehler auch selber finden müsstest.
herbivore
Hallo Herbivore,
ich habe insgesamt 3 Fehler im Code:
Die Fehlerzeilen
1.Zeile
string[] CaptionCopy = new string[arrList.CaptionName];
Zweite Zeile
Array.Copy(CaptionCopy, arrList.CaptionName);
3.Zeile
obj.Caption = CaptionCopy(i);
ich frage mich mittlerweile ob mein Ansatz überhaupt richtig ist ein statischen Array in dieser Form aufzurufen oder gibt es andere Alternativen??
Sharp.New
Fehler 2 resultiert aus Fehler 1. DIe Größe des Arrays wird als Integer Zahl angegeben, du verwendest stattdessen aber nen string mit arrList.CaptionName.
Baka wa shinanakya naoranai.
Mein XING Profil.
A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee
Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.
Hallo zusammen,
Genau zu 1. und 2. ist der Knackpunkt ich habe Array mit Strings gefüllt. Die Zuweisung
string[] CaptionCopy = new string[arrList.CaptionName];
bewirkt doch jene String Zuweisung oder liege ich dort falsch..
HILFE..HILFE..
Grüsse
Hallo sharp.new,
nee, da liegst du so falsch, dass bei mir alle "Bitte arbeite erstmal ein Buch zu dem Thema durch"-Lampen aufleuchten.
herbivore
Hallo Herbivore,
danke für den Tip, ich habe bislang schon einige Bücher durch. Aber Theorie und Praxis
sind Welten kennt man ja. Manchmal sieht man auch den Wald voller Bäume nicht..
Ich weiss aber mittlerweile das beim ArrayCopy der Anzahl der zu Kopierenden Arrayelemente angegeben werden. Diesen Tip hätte man kurz geben können anstatt auf ein Buch zu verweisen 🙂
Funktionieren tuts aber immer noch nicht, weiterlesen....
Grüsse
Hi sharp.new!
Wenn ich ehrlich bin, sind deine Fehler aber so, dass man annehmen muss, dass du noch keins gelesen hast und frei drauflos programmierst. Da würde ich dir empfehlen die Bücher nochmal zu lesen 🙂
Ein kleiner Tipp: Du benutzt einfach immer die falschen Klammern...!
string[] CaptionCopy = new string[] {arrList.CaptionName};
der Marcel
EDIT:Fehlerteufel
:] 😄Der größte Fehler eines modernen Computers sitzt meist davor 😁 :]
Hallo sharp.new,
Diesen Tip hätte man kurz geben können anstatt auf ein Buch zu verweisen
ich versuche eben mehr als einfach nur Tipps zu geben. 🙂
herbivore
Du kannst bei der Array-Deklaration angeben, wieviele Elemente das Array haben wird. Diese Zahl kommt in die eckigen Klammern hinter dem Bezeichner. Du kannst die Größe auch weglassen und das Array gleich initialisieren (so,wie du es versucht hast). Dann gehören die initialisierenden Werte des Arrays in geschweifte Klammern hinter die nichtsdestotrotz zu notierenden eckigen.
Ich will nicht drauf herumhacken, aber das steht wirklich in jedem c#-Buch auf den ersten 2 Seiten zum Thema "Array". hüstel
LaTino
"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)