Autor |
Beitrag |
Silentf
      
Beiträge: 18
|
Verfasst: Fr 11.07.08 11:18
Hallo zusammen
Ist es sinnvoller bzw. "schneller" wenn man Variablen mit .net Laufzeittypen deklariert oder mit dem c# Alias ?
Ein Unterschied wird sicher da sein, denk ich... Jedoch minimal da es ja ähnlich wie ein Pointer funktioniert oda ?
Rentiert es sich bei großen Anwendungen oder eher nicht.
Danke euch schonmal !
Gruß Silent
|
|
JüTho
      
Beiträge: 2021
Erhaltene Danke: 6
Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
|
Verfasst: Fr 11.07.08 11:43
Meinst Du den Vergleich zwischen Int32 und int? Vergiss das Grübeln und benutze das, was Dir lieber ist. (Es gibt so viele Sachen, mit denen man sich ernsthaft befassen muss; da sind überflüssige Probleme wirklich überflüssig.) Es mag zwar Situationen mit wirklichen Unterschieden geben; aber da der Compiler sowieso das gleiche erzeugen dürfte, spielt das in der Praxis keine Rolle. Jürgen
|
|
Silentf 
      
Beiträge: 18
|
Verfasst: Fr 11.07.08 12:02
Hallo !
Ja richtig, vieleicht könnte man das testen wenn man ne rechen und zeitaufwendige Rechnung erstellt, die einmal mit int32 und einmal mit int Variablen rechnet...
Mal zuhause probieren, kam mir nur in Sinn als ich das Openbook am lesen war.
Trozdem Danke !
|
|
Kha
      
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: Fr 11.07.08 14:29
"Alias" sagt doch schon alles: Nach dem Kompilieren ist er ganz einfach verschwunden. Es ist wirklich nicht anderes als persönlicher Geschmack. Es gibt einige gute Gründe gegen die Aliase ("Ist double etwa kein float?"), aber ich mag einfach das Syntax-Highlighting  .
|
|
Greenberet
      
Beiträge: 339
Erhaltene Danke: 20
Win 10
C# (VS 2012), C++ (VS 2012/GCC), PAWN(Notepad++), Java(NetBeans)
|
Verfasst: Mo 14.07.08 18:23
Khabarakh hat folgendes geschrieben: | "Alias" sagt doch schon alles: Nach dem Kompilieren ist er ganz einfach verschwunden. Es ist wirklich nicht anderes als persönlicher Geschmack. Es gibt einige gute Gründe gegen die Aliase ("Ist double etwa kein float?"), aber ich mag einfach das Syntax-Highlighting . |
eig. kann ich dir da nur zustimmen, nur das mit "ist double etwa kein float?" stimmt nicht ganz
der name vom datentyp double kommt eig. von "double float" weil er doppelt so groß ist (64 Bit statt 32 ) wodurch die präzission und die max und min grenzen erhöht werden.
lg
green
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Mo 14.07.08 18:28
Greenberet hat folgendes geschrieben: | nur das mit "ist double etwa kein float?" stimmt nicht ganz |
Wie kann an einer Frage etwas nicht stimmen?
Greenberet hat folgendes geschrieben: | der name vom datentyp double kommt eig. von "double float" weil er doppelt so groß ist (64 Bit statt 32 ) wodurch die präzission und die max und min grenzen erhöht werden. |
Ich glaube, das weiß Sebastian.  Der "Witz" bei der Frage ist, dass double halt auch ein floating point type ist.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Xardas008
      
Beiträge: 149
Win 7 Professional x64, Ubuntu 10.04, Windows Server 2008 R2
C#, Visual Studio 2008 Pro, Visual Studio 2010 Ultimate, Eclipse (Java)
|
Verfasst: So 20.07.08 16:37
Hi,
ich kann mich den anderen nur Anschließen. Es macht keinen Unterschied, ob du nun Int32 oder int oder Int oder sonstwas schreibst, sofern es vom Compiler nicht beanstandet wird.
Im Hintergrund macht der Compiler das gleiche daraus.
Der einzige wesentliche Unterschied ist, ob dein Programm letztlich CLS-Konform ist oder nicht, sprich ob du mit VB.NET, C# oder gar C++.NET dein Programm entwickelt hast.
Beispiel:
Du hast eine Klassenbibliothek geschrieben und benutzt immer int, double etc.
Willst du diese in einer anderen Programmiersprache einsetzen, funktioniert dies nicht, da diese dort nicht definiert sind.
Nimmst du dagegen Int32, Int64 etc. dann ist diese CLS-Konform und beide Sprachen dürften sich verstehen.
Das ist der einzige Grund wieso es diese Unterschiede überhaupt gibt.
Letzentlich bleibt es deine Entscheidung, nach welchem Stil du entwickelst, deine Programme dürften so oder so laufen und an Performance dürfte man keinen Unterschied merken.
Gruß
Xardas008
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: So 20.07.08 16:42
Die anderen Sprachen sehen doch nur das Kompilat, und da sind ja dann die Aliase schon verschwunden. Zeig mal bitte eine Lib, die auf Grund der Verwendung eines Alias nicht in einer anderen Sprache funktioniert 
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Kha
      
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: So 20.07.08 21:06
Xardas008 hat folgendes geschrieben: | Das ist der einzige Grund wieso es diese Unterschiede überhaupt gibt. |
Das wäre doch wohl ein ziemlich dämlicher Grund  . Die Aliase existieren rein wegen C-Verwandtschaft und allgemeiner Schreibfaulheit von Programmierern.
Kann es sein, dass du das mit den Unsigned-Typen verwechselt hast? Von denen ist nämlich nur Byte CLS-Compliant.
|
|
Talla
Hält's aus hier
Beiträge: 6
|
Verfasst: Di 29.07.08 19:08
Hallo,
die bisher genannten Theorien warum es diese Aliase gibt sind recht phantasievoll  , aber keine trifft imo zu.
Das hier triffts wohl eher.
|
|
Kha
      
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: Di 29.07.08 21:24
Talla hat folgendes geschrieben: | aber keine trifft imo zu. |
Und solange wir von Hejlsberg selbst kein Zitat haben[meta]eine Mail an Eric Lippert würde es wahrscheinlich auch tun[/meta], halte ich mein "imo" dagegen  . Ich glaube wirklich nicht, dass solche Plattform-Unabhängigkeit bei der Entwicklung von Java oder C# eine Rolle gespielt hat. Aber es ist schon eine verlockende Vorstellung, dass 1 Prozent meines Codes unabhängig vom Framework ist  .
|
|