int vs System.Int32



  • hustbaer schrieb:

    Klar jetzt?

    Sir, yes, sir. 😃



  • hustbaer schrieb:

    Ja, laber.
    Es geht hier um C#, und "C#" + "int" = eindeutig. Anders gesagt: wenn ich in einem C# Programm ein "int" stehen habe, dann ist das eindeutig.

    Klar jetzt?

    Du solltest mal an Deinen Ausdrücken arbeiten Du Spinner.
    Das war ein Beispiel, bloß nicht mal über den Tellerrand gucken.

    Hustbaer Du bist mit Abstand der größte Idiot hier im Forum.
    Und viel Ahnung hast Du nicht.
    Hast Du überhaupt schon einen PC, oder hast Du noch immer Deinen C64? Du Vollspacken...



  • Fettbemme schrieb:

    ...

    aha



  • hustbaer schrieb:

    Ja, laber.
    Es geht hier um C#, und "C#" + "int" = eindeutig. Anders gesagt: wenn ich in einem C# Programm ein "int" stehen habe, dann ist das eindeutig.

    Du hast keine Ahnung wovon du redest. Ich empfehle dir das Buch "Programmierung in C# - Expertenwissen zur CLR und dem .NET-Framework" von Jeffrey Richter.

    Dort wird dir das noch einmal genauer erklärt, was ich oben bereits angedeutet habe. Solltest du unbedingt einmal lesen, damit du in Zukunft nicht soviel Unsinn verbreitest!



  • AmunRa schrieb:

    Du hast keine Ahnung wovon du redest...

    Dann lies bitte auch die Links aus der MSDN die ich bereits gepostet habe. Den entweder ist die MSDN (+ einige Fachbücher) falsch, oder hustbaer hat mit seiner Aussage recht.

    "int" ist innerhalb eines C#-Programmes laut den MSDN-Artikel IMMER ein System.Int32. Für andere .Net Sprachen mag das wieder anders aussehen, die Aussage zu C# gilt aber dennoch oder beweise bitte das Gegenteil.

    AmunRa schrieb:

    ...damit du in Zukunft nicht soviel Unsinn verbreitest!

    Vielleicht auch mal an die eigene Nase fassen...

    cu André



  • asc schrieb:

    Dann lies bitte auch die Links aus der MSDN die ich bereits gepostet habe. Den entweder ist die MSDN (+ einige Fachbücher) falsch, oder hustbaer hat mit seiner Aussage recht.

    "int" ist innerhalb eines C#-Programmes laut den MSDN-Artikel IMMER ein System.Int32. Für andere .Net Sprachen mag das wieder anders aussehen, die Aussage zu C# gilt aber dennoch oder beweise bitte das Gegenteil.

    Und du solltest lesen lernen, bevor du den Klugscheißer raushängen lässt!

    Ich hatte nirgends behauptet das ein int in C# etwas anders als ein System.Int32 wäre. Im Gegenteil, im ersten Beitrag hatte ich das sogar explizit beschrieben.

    Meine Aussage war das int im Gegensatz zu System.Int32 beim Programmierer zu Missverständnissen führen kann, weil der primitive Datentyp in anderen .NET-Sprachen auf einen anderen FCL-Datentyp abgebildet wird. Gleichzeitig kann es zu weniger offensichtlichen Zeilen kommen, wie z.B.

    float val = br.ReadSingle();
    

    ist nicht so selbsterklärend, wie

    Single val = br.ReadSingle();
    

    Darüberhinaus behandelt der Compiler bei der Abbildung von int in Int32 den Code nicht immer umfassend gleich. So ist es möglich ein Enum mit

    public enum Number : int
    {
        one = 0
    }
    

    zu beschreiben, während

    public enum Number: Int32
    {
        one = 0
    }
    

    zu einem Fehler führt. Hast du das nun kapiert? 🙄



  • ja, mr. ra grosser gott des programmierens, es ist natürlich ganz schlimm, wenn man in C# etwas schreibt, was nur in C# eindeutig ist, aber in irgendeiner anderen sprache was ganz anderes bedeuten könnte.

    d.h. man darf in C# ab jetzt auch keine finalizer mehr implementieren, weil die gleiche syntax in C++/CLI ja IDisposable implementieren würde.

    mach dich bitte nicht lächerlich.



  • Popcorn - frischen Popcorn ... will jemand frisches Popcorn kaufen?



  • mogel schrieb:

    Popcorn - frischen Popcorn ... will jemand frisches Popcorn kaufen?

    Mmmh, ich fürchte da müssen wir noch etwas Öl ins Feuer giessen, sonst besteht die Gefahr,
    dass der Streit aus so lächerlichem Anlass nicht sehr lange andauert 😉



  • hustbaer schrieb:

    d.h. man darf in C# ab jetzt auch keine finalizer mehr implementieren, weil die gleiche syntax in C++/CLI ja IDisposable implementieren würde.

    Du bist ein Dummschwätzer!

    1. Ich habe nirgends ausgesagt man dürfe in C# nicht die primitiven Datentypen verwenden, ergo ist deine Anspielung blanker Unsinn!

    2. Dein Vergleich hinkt. Ein finalizer ist in C++ nicht dasselbe wie die Finalize-Methode. Das lässt sich schon daran erkennen, wie Finalize und Dispose in C#und C++/CLI implementiert werden. Bei den primitiven Datentypen ist die Verwechslungsgefahr deutlich stärker gegeben, vor allem deshalb weil die meisten primitiven Datentypen in gleiche FCL-Typen abgebildet werden, allerdings einige wenige nicht.



  • Der Tonfall von hustbaer war vielleicht nicht ganz ok, aber ich kann beim besten Willen nicht erkennen, wie

    hustbaer schrieb:

    wenn ich in einem C# Programm ein "int" stehen habe, dann ist das eindeutig.

    und

    AmunRa schrieb:

    Du hast keine Ahnung wovon du redest. [...] damit du in Zukunft nicht soviel Unsinn verbreitest!

    angesichts der weiteren von AmunRa getätigten (fachlichen) Ausführungen zusammenpassen.



  • LordJaxom schrieb:

    angesichts der weiteren von AmunRa getätigten (fachlichen)
    Ausführungen zusammenpassen.

    Weil Hustbaer sich was aus den Fingern saugt was keiner gesagt hat.

    Lies Dir das mal durch Hustbaer, kannst Du lesen Dicker?

    http://www.aspheute.com/artikel/20000726.htm



  • AmunRa schrieb:

    Bei den primitiven Datentypen ist die Verwechslungsgefahr deutlich stärker gegeben, vor allem deshalb weil die meisten primitiven Datentypen in gleiche FCL-Typen abgebildet werden, allerdings einige wenige nicht.

    Das ist vollkommen subjektiv, und bezogen auf C# alleine eben einfach nicht wahr (EDIT: bzw. nicht relevant). Darauf wollte ich hinweisen, und du bist aufgeflippt. Kann ich auch nix machen.

    Beim Programmieren überall zu berückichtigenm was in anderen Sprachen evtl. anders heissen könnte, ist IMO quatsch, sorry.


Anmelden zum Antworten