Comment passer de Java à C#?


Je connais bien Java. Quelles mises en garde et ressources m'aideront à passer de l'autre côté (C#) aussi sans douleur que possible.

Author: paxdiablo, 2008-10-17

8 answers

Plus gros conseil: allez avec les conventions de nommage. NET dès le départ. De cette façon, vous serez constamment rappelé dans quelle langue vous êtes. (Cela semble idiot, mais c'est vraiment utile.) Embrasser les idiomes de la langue autant que possible.

Il existe différents livres spécifiquement pour les personnes dans votre situation - recherchez "C# pour Java" dans Amazon et vous obtiendrez beaucoup de hits. Cela vaut la peine de lire attentivement pour vous assurer que vous ne supposez pas que les choses fonctionneront de la même manière dans C # comme en Java. (Par exemple, en C#, les initialiseurs de variables d'instance sont exécutés avant le corps du constructeur de classe de base; en Java, ils se produisent après. Des choses subtiles comme celle-ci peuvent prendre un certain temps à apprendre, et sont faciles à manquer si vous écumez.)

Si vous allez utiliser C# 3, j'obtiendrais un livre qui couvre définitivement cela - tout en C# 3 sera nouveau pour vous. Prise gratuite: mon propre livre (C# en profondeur ) couvre C# 2 et 3, mais suppose que vous connaissez déjà C# 1. (En d'autres termes, il ne sera pas suffisant à lui seul, mais vous pouvez le vouloir comme un "deuxième" livre.)

 32
Author: Jon Skeet, 2008-10-17 14:27:56

Voir cet excellent article surC# du point de vue d'un développeur Java . Il a plusieurs idées sur les choses qui peuvent être faites dans les deux côtés pour éviter les frais généraux minimum. Avoir exemple dans la langue que vous connaissez et la langue que vous voulez apprendre facilite la courbe d'apprentissage un peu.

 10
Author: Jorge Ferreira, 2008-10-17 14:07:41
  1. Installez Visual Studio 2008 et Resharper avec les liaisons de touches IntelliJ IDEA. Cela vous donne des choses comme vous inviter à inclure des espaces de noms si vous commencez à les utiliser.
  2. Démarrez un nouveau projet et commencez à écrire du code Java, lorsque vous rencontrez quelque chose qui ne fonctionne pas correctement ou qu'il est incapable de trouver la classe que vous essayez d'utiliser Google "PrintLn en c#".
  3. Écrivez des tests ou des extraits de code pour les contrôles de santé mentale, comme vous voudrez peut-être vérifier si = = fonctionne pour les chaînes (il fait)
  4. réalisez que les types de données alias c# (int est un alias pour System.Int32, string pour System.Chaîne)
  5. regardez le code des autres peuples Je recommande JP Boodhoos Google code
  6. Prenez un travail en C#, il y a beaucoup de travaux nécessitant à la fois Java et C# en particulier dans le support.
  7. Connaissez vos bibliothèques, la plupart des bibliothèques Java ont été portées et la plupart du temps, le nom est soit comme (Hibernate = > NHibernate) ou (Xstream => Xstream.Net). Toutes les bibliothèques n'ont pas une évidence nom alors commencez simplement à regarder dans ceux au hasard dont vous entendez parler ici. ie (Rhino.Moqueurs, HtmlAgilityPack, MBUnit, Rhino.Communes,Château De Projet)
  8. Aller aux réunions du groupe d'utilisateurs recherchez un DNUG (groupe d'utilisateurs Dot Net) ils seront utiles et vous pourrez obtenir de bons conseils.
 2
Author: Scott Cowan, 2011-10-20 01:24:23

J'ai fait la transition assez facilement en utilisant C# au travail, mais l'une des choses les plus importantes à faire est de vous familiariser avec l'API.NET et certaines des techniques puissantes disponibles en C#.

Après avoir appris la bibliothèque.net, je me suis appuyé sur elle beaucoup plus que par le passé, donc apprendre ce qu'elle peut faire pour vous est très utile. Après cela, si vous travaillez avec du code db, apprenez LINQ, ainsi que des techniques lambas, des types anonymes et des délégués sont également utiles à choisir jusqu'.

 1
Author: Tony Peterson, 2008-12-16 12:16:11

La syntaxe du langage est similaire, donc je ne devrais lire qu'une petite référence de la syntaxe C#. Comme un simple livre (pour les programmeurs expérimentés) ou peut-être wikipedia ( http://en.wikipedia.org/wiki/Comparison_of_Java_and_C_Sharp ) en dira assez.

La plus grande différence est la bibliothèque: Asp.Net les sites Web sont totalement différents des servlets java.

Ne lisez pas beaucoup, commencez simplement à programmer!

 0
Author: Paco, 2008-10-17 14:09:47

Voici un lien qui a une comparaison de syntaxe entre Java et C# (même s'il est presque identique, il y a quelques différences).

http://www.harding.edu/fmccown/java1_5_csharp_comparison.html

 0
Author: , 2008-10-17 14:40:41

UtilisezSharpen pour convertir vos programmes Java en C# et voir les différences.

 0
Author: axelclk, 2008-10-19 20:17:58

Je sais qu'une bonne réponse a déjà été accepté. Cependant, je voudrais faire une addition...

Je trouve que l'apprentissage d'une nouvelle langue implique généralement l'apprentissage de subtiles différences syntaxiques....surtout lorsqu'il s'agit de la différence entre les langages de la famille C/C++/Java/C#.

En plus d'un beau livre de référence épais, je recommande d'obtenir une référence de poche comme C# 3 Référence de poche de O'Reilly. Cela ne vous aidera pas avec les modèles de conception, etc...mais fournira un très rapide référence sur les différences spécifiques de la langue que vous utilisez.

Voici un aperçu rapide de ce livre à partir de ce site:

La référence de poche C# 3.0 comprend de nombreuses illustrations et exemples de code pour expliquer:

  • Fonctionnalités nouvelles de C # 3.0, telles que les expressions lambda, les types anonymes, les propriétés automatiques, etc.
  • Tous les aspects de la syntaxe C#, les types prédéfinis, les expressions et les opérateurs
  • Création de classes, de structures, de délégués et d'événements, d'énumérations, de génériques et de contraintes, de gestion des exceptions et d'itérateurs
  • Les subtilités de la boxe, de la surcharge de fonctionnement, de la covariance déléguée, de la résolution de la méthode d'extension, de la réimplémentation d'interface, des types nullables et du levage de fonctionnement
  • LINQ, en commençant par les principes des séquences, de l'exécution différée et des opérateurs de requête standard, et en terminant par une référence complète à la syntaxe de requête-y compris plusieurs générateurs, jointures, regroupements et suites de requêtes
  • Consommer, écrire et réfléchir sur des attributs personnalisés

J'ai utilisé ce livre (bien que l'original) pour m'aider à aller de Java à un développeur C#. Pendant que j'apprenais, je l'ai gardé près de mon bureau en tout temps et cela m'a vraiment aidé.

 0
Author: mezoid, 2008-12-16 12:10:00