Normalerweise programmiere ich in C++, aber für die Schule muss ich ein Projekt in C# machen.
Also habe ich einfach weiter programmiert, wie ich es in C++ gewohnt war, war aber überrascht, als der Compiler sich über Code wie folgenden beschwerte:
const uint size = 10;
ArrayList myarray = new ArrayList(size); //Arg 1: kann von 'uint' nicht in 'int' konvertiert werden
Sie erwarten also einen Argumenttyp von int - aber warum? Mir würde es viel mehr zusagen, uint als Argumenttyp zu verwenden, da uint in diesem Fall viel besser passt.
Warum verwenden sie fast überall im .NET-Framework int als Argumenttyp, obwohl in vielen Fällen negative Zahlen keinen Sinn ergeben (weil keine Container oder GUI-Elemente eine negative Größe haben können).
Wenn der Grund dafür, dass sie int verwendet haben, darin liegt, dass sie nicht davon ausgehen, dass der durchschnittliche Benutzer auf Vorzeichen achten würde, warum haben sie dann keine Überladungen für uint hinzugefügt?
Handelt es sich hierbei einfach um Microsoft, denen die Korrektheit des Vorzeichens egal ist, oder gibt es Fälle, in denen negative Werte Sinn ergeben / Informationen tragen (Fehlercode????) für Container/Gui-Widgets/... Größen?
0 Stimmen
Ich habe mich bereits über die gleiche Tatsache gewundert und keine Antwort gefunden.