Autor Beitrag
Rokket84
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Sa 06.02.10 21:02 
Hallo,

habe hier ein Programm, dass den Wert 0 ausgibt. Wieso gibt es null und nicht 12 aus und wie kann ich es erreichen, durch einfügen einer Zeile an der Stelle // hier Zeile einfügen... damit 12 ausgegeben wird?

gruß rokket86

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

    namespace Test
    {
        struct A { 
            public int i;
            public void set(int ii) { i = ii; }
        }
        class Program
        {
            static void Main(string[] args)
            {
                A a = new A();
                object o = a;
                ((A)o).set(12);
                // hier Zeile einfügen...
                Console.WriteLine(((A)o).i);
                Console.ReadLine();
            }
        }
    }


Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Sa 06.02.10 23:50 
:welcome:, gleich zum Einstieg eine sehr gute Frage :zustimm: !

user profile iconRokket84 hat folgendes geschrieben Zum zitierten Posting springen:
Wieso gibt es null und nicht 12 aus
Weil Mutable Structs unglaublich böse sind. Wenn du, sobald ein Typ veränderbare Daten enthalten soll, erst gar nicht an Structs, sondern an eine Klasse denkst, lebst du eindeutig glücklicher.

(überhaupt sollten Klassen immer die erste Wahl sein. Beim Optimieren der Performance könnte sich dann herausstellen, dass das Ersetzen durch einen Struct noch ein paar ms rausholt, aber das bitte wirklich nur nach gründlichem Messen)

_________________
>λ=