Entwickler-Ecke

Sonstiges (.NET) - Der Start mit C#


Marco D. - Fr 27.04.07 20:28
Titel: Der Start mit C#
Ich möchte mit C# anfangen.
Die Sprache gefällt mir gut und man erweitert seinen technischen Horizont. ;)
1. Welche IDE empfehlt ihr mir?
2. Welche Nachteile hat C#?

Was fällt euch sonst noch für mich ein?


r2c2 - Sa 28.04.07 09:34
Titel: Re: Der Start mit C#
Hallo Marco,

user profile iconMarco D. hat folgendes geschrieben:

1. Welche IDE empfehlt ihr mir?

SharpDevelop oder Visual CSharp Express. Beide kostenlos. Was man bevorzugt is eher Geschmacksage. Guck dir einfach mal beides an...


Zitat:

2. Welche Nachteile hat C#?

Schwirige Frage. Also, wenn man von Delphi kommt vermisst man (bzw. hab ich vermisst) Mengentypen und flexible Arrays(enums als Indices, etc.). Kommt man wieder zurück nach Delphi fehlen einem Generics und Operatorenüberladung. Man könnte das noch weiter ausführen, aber kurz gesagt: C# is einfach eine andere Sprache und deshalb wohl am Anfng etwas ungewohnt, aber man findet sich eigentlich recht schnell rein. Probiers einfach mal aus...

mfg

Christian


Marco D. - Sa 28.04.07 10:00
Titel: Re: Der Start mit C#
user profile iconr2c2 hat folgendes geschrieben:

Schwirige Frage. Also, wenn man von Delphi kommt vermisst man (bzw. hab ich vermisst) Mengentypen und flexible Arrays(enums als Indices, etc.).

Du meinst mit Mengentypen:

Delphi-Quelltext
1:
2:
type
  TWochentag = (wMontag,wDienstag,wMittwoch);

?
Was sind 'flexible Arrays'? Ich kenne nur dynamische Arrays. :P
user profile iconr2c2 hat folgendes geschrieben:

Kommt man wieder zurück nach Delphi fehlen einem Generics und Operatorenüberladung.

Generics vermisse ich wirklich jetzt schon in Delphi. ;)
Operatorenüberladung - kann ich nichts zu sagen, da ich so etwas noch nicht gemacht habe. ;)

Wie sieht es denn mit der Geschwindigkeit aus?

Also C# => .NET => nicht compiliert => sondern Zwischencode => langsamer.

Kann man das so sagen? Oder ist das nichts dran?


r2c2 - Sa 28.04.07 15:21
Titel: Re: Der Start mit C#
user profile iconMarco D. hat folgendes geschrieben:

Du meinst mit Mengentypen:

Nö. Dasn Aufzählungstyp auch enum genannt...
==> set of...

Zitat:

Was sind 'flexible Arrays'? Ich kenne nur dynamische Arrays. :P


Delphi-Quelltext
1:
2:
3:
4:
5:
var
  Test: array[Boolean] of string;
  Test2: array[TEnum] of TSonstwas;
  Test3: array['a'..'z'of Integer;
  ...

Sowas kenn ich nur von Pascal-Dialekten...

Zitat:

Wie sieht es denn mit der Geschwindigkeit aus?

Besser, wie man vielelicht denkt. Der "Zwischencode"(IL-Code) wird JIT-kompiliert, nicht JIT-interpretiert. Außerdem können duch das JIT-kompilieren Optimierungen vorgenommen werden, die sonst nicht möglich wären(ein Delphi.Win32-Prog is im Allgemeinen aufn P1 optimiert; auch, wenns aufm P4, m Athlon oder nem Code2Duo läuft). Dadurch ist .NET gar nicht so viel langsamer als Win32...

mfg

Christian


Marco D. - Sa 28.04.07 15:34

Was macht denn folgende Zeile?

Delphi-Quelltext
1:
2:
var
  Test: array[Boolean] of string;


Kha - Sa 28.04.07 15:44

Streng doch mal ein wenig deine Phantasie an, mit welchen Indizes wird man wohl auf dieses Array zugreifen können ;) ?


Marco D. - Sa 28.04.07 15:58

user profile iconKhabarakh hat folgendes geschrieben:
Streng doch mal ein wenig deine Phantasie an, mit welchen Indizes wird man wohl auf dieses Array zugreifen können ;) ?

Na so:

Delphi-Quelltext
1:
2:
3:
4:
5:
var
  Test: array[Boolean] of string;
  blubb: string;

blubb := Test[false];

Das sieht aber sehr komisch aus. :eyecrazy: Wer benutzt denn sowas? Ich hätte nicht gedacht, dass sowas möglich ist. :P


r2c2 - Sa 28.04.07 16:14

Kann man wunderbar als Konstante benutzen:

Delphi-Quelltext
1:
2:
3:
4:
const
  InsertStateStr : array[Boolean] of string = ('überschreiben''einfügen');
begin
  ShowMessage(InsertStateStr[true]);


mfg

Christian


alias5000 - So 29.04.07 00:53

Was ich als Vorteil von C# noch nennen würde, wären schlichtweg die Klassen des .NET Frameworks. Mit der Version 2.0 hat man schon einiges in der Hand.
Der Syntax ist zwar (wie alle, die an C,... angelehnt sind) etwas gewöhnungsbedürftig, aber ich mag ihn zunehmend immer mehr ;)

Gruß
alias5000


Leuchtturm - So 29.04.07 10:36

user profile iconalias5000 hat folgendes geschrieben:

Der Syntax ist zwar (wie alle, die an C,... angelehnt sind) etwas gewöhnungsbedürftig, aber ich mag ihn zunehmend immer mehr ;)

Wobei die Syntax teilweiseauch Delphiähnlich ist


ambig - Sa 02.06.07 03:26
Titel: Re: Der Start mit C#
Zitat:


Delphi-Quelltext
1:
2:
3:
var
  Test: array[Boolean] of string;
  ...

Sowas kenn ich nur von Pascal-Dialekten...


hallo r2c2,

sowas kann in c# doch sehr leicht implementiert werden.
am ehesten passt da sogar schon

Dictionary<bool, string>.


r2c2 - Sa 02.06.07 10:41
Titel: Re: Der Start mit C#
user profile iconambig hat folgendes geschrieben:

hallo r2c2,

sowas kann in c# doch sehr leicht implementiert werden.
am ehesten passt da sogar schon

Dictionary<bool, string>.

Hm... du hast Recht, aber funktioniert das auch mit konstanten? Wohl eher nicht...
Wobei ich zugeben muss, dass man sich das relativ leicht nachbauen kann. Generics sind wirklich praktisch. Vllt gibts die ja auch irgendwann in Delphi...

mfg

Christian