Autor Beitrag
Newbie_2013_
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Sa 30.03.13 21:17 
Hallo,

habe bei untenstehendem Code ein Verständnisproblem. Es geht dabei um das Löschen des Feldes "AarrayW",welches ich mir nicht erklären kann. Kann mir jemand eine Erläuterung hierzu geben?

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
FileDialog ADialog_openFileW = new OpenFileDialog();
            DialogResult AopenDialog_resultW = ADialog_openFileW.ShowDialog();
            AsaveFileNameW = ADialog_openFileW.FileName;

            if (AopenDialog_resultW == DialogResult.OK)
            {
                for (int AdeleteW = 0; AdeleteW < AarrayW.Length && AarrayW[AdeleteW] != null; AdeleteW++) //Array löschen
                {
                    AarrayW[AdeleteW] = null;
                }
                Stream AsaveTestW = new FileStream(AsaveFileNameW, FileMode.Open);
                BinaryFormatter AbinaryFormatterW = new BinaryFormatter();
                AarrayW=(AGenericTestW[]) AbinaryFormatterW.Deserialize(AsaveTestW);
                Acombobox_actualtestW.Items.Clear();                                                           //Comboboxeinträge löschen


Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 30.03.13 21:56 
Hallo!

Was soll der Code denn tun? Und was steht in AarrayW drin?

Viele Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Newbie_2013_ Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mo 01.04.13 11:40 
Ok. Im Feld "AarrayW" sind integer-Zahlen gespeichert. In dem Code-Ausschnitt soll das Feld "AarrayW" deserialisiert werden. Hilft das als Erläuterung?
Gruss
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 01.04.13 11:51 
Das löschen des Inhalts des Arrays halte ich für unnötig. Das Deserialisieren wird dir ein neues Array an AarrayW erzeugen womit das alte dereferenziert wird und automatisch der Garbage Collection anheim fällt und somit zerstört wird.

Dein Naming macht den Code schwer lesbar. Sobald du, wie es Standard ist, Variablen klein schreibst kann man die leicht von Typen unterscheiden. Was soll der A Präfix bei jeder Variablen? Wobei du den scheinbar manchmal auch bei Typen (AGenericTestW) benutzt.