2010-04-11 30 views
11

Ich habe 6+ Jahre C/C++ Erfahrung. Morgen fängt eine Universitätsaufgabe an, wo ich C# benutzen muss. Daher hätte ich gerne eine Liste von Links/Ressourcen, die Sie für wichtig halten oder eine ausführliche Anleitung - kurz alles was Sie für wertvoll halten.Einführung in C# für C/C++ - Benutzer

Coding Stil, Best Practices, ...

(ich kenne keine Einzelheiten über die C# Umgebung werde ich (IDE, OS, w/e) verwenden, das erste Treffen morgen Abend ist) .

(ich habe C# nie zuvor codiert)

Eine weitere Sache: Ich möchte mit Linux arbeiten (Kubuntu 10.4). IDE/Umgebung/Tutorial-Vorschläge zu Linux sind ausdrücklich erwünscht.

Danke für Ihre Hilfe!

+7

Ehrlich gesagt würde ich mir nicht zu viele Sorgen machen. Sie werden das meiste von dem, was Sie über die Speicherverwaltung wissen, vergessen müssen, aber es wird wirklich leicht zu erlernen sein. C# ist nicht besonders schwierig zu lernen, besonders wenn Sie bereits Programmiererfahrung haben. Generics könnten ein oder zwei Passagen nehmen, aber selbst sie sind ziemlich einfach. Generische Sammlungen werden bald dein neuer bester Freund sein. –

+0

gut zu hören. :) danke –

+0

(ich habe C# vorher noch nie codiert) -> ist wirklich eine starke Aussage. Ich selbst hatte die gleiche Angst, bevor ich von Embedded zu C# wechselte. Ich habe dieses Mal ein C# für Dummies Buch verwendet. Einfach, wie das Buch sagt. : D – Hanseh

Antwort

1

Es ist im Grunde ein Editor für C#, die verwendet wird, um I 80% der C# -Entwickler erraten, Visual Studio.

Starten Sie den Download Kauf/Download. Sie haben die Express-Ausgabe, die kostenlos und für den persönlichen Gebrauch gedacht ist. Es ist nur eine einfache IDE mit nichts Besonderes. Wenn Sie etwas Geld ausgeben (oder es durch die Universität bekommen können) gehen Sie für eine erweiterte Version von VS, wie professionelle oder Team-System. Beide enthalten Formular-Designer und erweiterte Funktionen.

So viel für die IDE.

Ich denke, wenn Sie von C++ zu C# gehen, wird das größte "Problem" sein, vorhandene Funktionalität im .NET Framework zu verwenden, anstatt es selbst zu machen. Das sehe ich oft, wenn Leute von C++ (sogar mit Boost) zu .net gehen. Der Rahmen ist so groß und enthält fast alles, also jedes Mal, wenn Sie etwas Aux schreiben schreiben. Klasse, die nicht domänenspezifisch ist, Suche im Handbuch, wenn sowas nicht schon existiert. Wahrscheinlichkeiten sind sie im Rahmen.

Und schließlich, lernen, Lambda zu verwenden, Sie werden sie so viel genießen !! Das ist die einzige wichtige Sache, die C++ nicht selbst unterstützt. Alle Erweiterungen wie Boost, die hinzufügen Lambda's sind so kompliziert und weit von elegant, dass es normalerweise nicht wert, es zu verwenden.

+0

Ich denke, die 80% sind viel zu niedrig. ':)' Ich wiederhole die Aussage, dass ich zuerst den Rahmen betrachte. (Lambdas, BTW, wird Teil von C++ 11 sein.) – sbi

1

Ich würde mit zwei Büchern beginnen:

  1. "C# In Kürze", O'Reilly (neueste Ausgabe deckt C# 4).
  2. "Framework Design Guidelines: Conventions, Idiome und Muster für wiederverwendbare .NET-Bibliotheken, Second Edition", AW

Eine 30 Tage Spuren von Safari Books Online wird Ihnen sowohl zugreifen, bis Sie entscheiden, ob sie Suite du).

Mit allem Fokus auf # 1 zunächst.

Wenn ich gelernt C# 1 (während .NET 1.0 über einige Stunden mit "C# Essentials" Ich brauchte nur etwas, um die Syntax und Semantik zu zeigen, wie ich bereits programmieren konnte.

+0

Du bist ein Audio Denker wie ich eh :) "wie ich schon neu programmiere". Danke für den Hinweis. Leider sind diese Bücher ziemlich teuer. Hinweise waren, sie billiger zu bekommen (außer der Bibliothek). –

+1

@Ronny: "C# Essentials", ein kenntnisreicher Mitarbeiter, und SO ist alles, was ich je hatte (fast 20 Jahre) C++ bis C#. Das sollte genug sein. Siehe hier: http://books.google.de/books?id=pbzW8VGuqrIC&printsec=frontcover&hl=de&source=gbs_v2_summary_r&cad=0. – sbi

+0

@Ronny: mehr ein Fall von schnell tippen. – Richard

0

Wenn Sie C schreiben ++, können Sie C# mit sehr wenig Aufwand schreiben. Aber die C# -Sprache ist ein sehr kleiner Teil davon, ein .NET-Entwickler zu sein, es ist die Erfahrung mit dem .NET Framework, die Ihnen noch lange fehlen wird. Und die Basisklassenbibliothek hat einen kleinen gemeinsamen Kern und mehrere fast völlig unterschiedliche Toolkits (WinForms, ASP.NET, WPF, WSDL + WCF, Workflow Foundation), es ist für einen sehr erfahrenen C# -Entwickler möglich, fast nichts von mehreren dieser Spezialgebiete zu wissen .

Bis Sie herausfinden, was Ihre Aufgabe ist, wissen wir nicht, mit welchen dieser Bereiche Sie sich vertraut machen müssen und können nicht viele Hinweise geben.

Sie werden es wahrscheinlich nützlich finden, auf die "Alternative Managed API" unter pinvoke.net für alle Arten von nativen Windows-Funktionen zu verweisen.

+0

Grund für den Downvote? –

+0

Ich habe nicht abgelehnt. Der obere Absatz ist insgesamt bla. Ich weiß nicht, pinvoke, also habe ich dazu keinen Kommentar. –

+0

Rewrote den ersten Absatz, weil es überhaupt nicht prägnant war. Danke für die Rückmeldung. pinvoke.net ist am nützlichsten, wenn Sie die alten APIs kennen, ob Sie nach einer Möglichkeit suchen, sie in .NET (P/Invoke) zu verwenden oder nach der kanonischen .NET-Ersatzmethode zu suchen, die ebenfalls aufgeführt ist die meisten Funktionen. –