12
votes

Comment remonte-t-je mes compétences C # lorsque j'ai passé la dernière décennie à coder dans VB?

J'ai commencé ma carrière codant en C / C ++ sur un système VAX, mais je suis entré dans quelques contrats où il s'agissait de VB, puis devenu un spécialiste dans VB, puis à VB.Net. Maintenant, j'attends au travail pour Microsoft et il semble que chaque travail qu'ils post est en C / C ++ / C # et je peux à peine lire le code C #, il ressemble au désordre le plus compliqué pour moi et la syntaxe inline blesse presque mes sentiments.

Je recherche des suggestions positives, non flâtrées et utiles sur la manière de récupérer des compétences C #. Livres..labs..etc? J'ai codé des projets simples en utilisant Silverlight et C # pour essayer de l'exercer et il est extrêmement frustrant car il y a très peu d'exemples que je peux trouver qui illustrent ce que chaque ensemble de code ressemble. J'ai googlé mais je n'ai encore trouvé rien d'utile autre que Channel9 Labs et de travailler à travers un exemple de code / projets de Mix10.

Je ne cherche pas un raccourci, mais une bonne compréhension des compétences solides. Je jure qu'il est plus facile de traduire l'anglais en latin que VB à C #.


4 commentaires

"Je jure qu'il est plus facile de traduire l'anglais en latin que VB à C #." Tu plaisantes. La traduction entre vb.net & c # est pratiquement littérale. C # a des semi-couches et des crochets autour des blocs, VB a la fin xxx à la place. La syntaxe d'appel de fonction est identique dans les usages MOS et ils comptent tous les deux sur le même BCL. Je viens de trouver étrange que vous ayez tellement de problèmes avec quelques semi-couches.


Vous avez construit une carrière sur C / C ++, qui devrait vous donner une jambe sur C #. Ma politique est que si je veux devenir un expert à quelque chose, je me plierai dans cet environnement pendant 6 mois, 24-7. Après 6 mois, si je ne suis pas à l'aise avec le titre "expert", faites autre chose. Les choses sembleront frustrant, mais croyez-le ou non, vous vous y habituerez. Chaque fois que j'achète un téléphone portable, je suis frustre sur la façon de l'utiliser. Après 6 mois d'utilisation du téléphone tous les jours, je peux l'utiliser avec mes yeux fermés. Ta daa !!! Expert!!


J'ai beaucoup travaillé avec Linq dernièrement et j'essaye également d'apprendre cela, j'ai toujours utilisé Sprates pour contrôler la récupération des données, mais Silverlight 4 Les applications métier semblent préférer Linq sur SproS. Mon point d'étant que beaucoup des déclarations en ligne que j'ai examinées étaient des exemples d'inline Linq Lambda et d'essayer de trouver des exemples VB.NET LINQ est presque impossible, alors j'ai essayé de convertir ces exemples C # à VB.NET LINQ, qui a incité le Anglais vers le commentaire latin.


Cette question semble être hors sujets car elle devrait appartenir à des programmeurs.stackexchange


13 Réponses :


14
votes

I Personnellement commencer par convertir un projet VB.NET en C #, après avoir fait vb.net, il ne serait pas difficile une fois que vous avez commencé, car ils utilisent tous les deux le même CLR sous-jacent.

Ce faisant de cette façon étape par étape, en regardant comment convertir chaque bit que vous ne comprenez pas, vous allez bientôt finir par vous en apprendre par vous-même C # en fonction de votre connaissance de vb.net et vous verrez qu'ils " n'est vraiment pas si différent!

Je les trouve très similaires maintenant, je les connais tous les deux, ils ont juste l'habitude de faire les choses 'légèrement' différemment.

Aussi, consultez Cette page wiki pour une comparaison de résumé de VB. NET et C #, et consultez les exemples en bas pour voir des comparaisons de base de la syntaxe qui vous donneront un point de départ pour convertir VB.Net en C #.


3 commentaires

Cela apprendra les bases mêmes de la syntaxe, mais manquez complètement C # idiomes.


Oui mais des sons de celui-ci c'est exactement ce qu'il a besoin. Une fois qu'il a appris les bases et a construit sa confiance avec C #, il peut ensuite rechercher ses connaissances et ses compétences dans des zones plus anticipées de C #


Merci pour le lien avec le wiki qui a été très utile, je prends également vos conseils et convertissant l'un de mes plus petits projets de VB en C #. Construire les exemples de projets dans lesquels vous reformez ce que vous voyez en ligne ne le faisait pas pour moi, il n'a jamais franchi mon esprit pour convertir l'un de mes projets existants.



0
votes

Scott Hanselman publie une colonne régulière de son blog appelé " hebdomadaire Code source ", qui est constitué de code source - généralement C # ---, que vous pouvez apprendre en lisant.


1 commentaires

Ce sont généralement des exemples assez complexes, cependant. Je ne vois pas quelqu'un qui a des difficultés à lire de base C # faire beaucoup d'avance avec ceux-ci.



0
votes

Mon premier choix est celui donné par W69RDY: Convertissez un projet que vous avez déjà fait dans VB à C #.

Deuxièmement, je vais écrémer la documentation C # ou une source en ligne comme celle suggérée par James, au moins une fois par jour à la recherche de quelque chose que vous ne comprenez pas. Peut-être quelque chose d'aussi simple qu'un mot clé de langue que vous ne reconnaissez pas. Ensuite, écrivez quelque chose qui l'utilise: même quelque chose d'aussi simple qu'un petit extrait.


0 commentaires

1
votes

Achetez " Head premier C # " et profitez-en de votre codage. C'est le meilleur livre (selon moi et quelques autres) sur l'apprentissage du marché C #.

text alt


1 commentaires

Merci pour la référence de livre!



4
votes

Etant donné que vb.net et c # sont à la fois des langues de première classe orientées objet de la première classe qui compilent jusqu'à la proximité du même code CIL, je le trouve assez facile à basculer entre les deux. La majeure partie de la courbe d'apprentissage dans .NET vient d'apprendre les API de Myriad; La syntaxe ne prend pas terriblement longtemps pour ramasser.

Je recommanderais un bon livre qui se concentre sur la langue de C # (c'est-à-dire pas un cadre tel que WinForms, Silverlight ou WPF). Un livre que j'ai vraiment aimé était illustré C # 2008 par Daniel Solis. C'est génial d'exposer la langue C # de bout en bout. (note: bien que cela dit "illustré" dans le titre, il n'est pas rempli de nombreuses jolies images. "Illustré" signifie simplement que l'auteur utilise de nombreux diagrammes utiles pour expliquer les concepts).

En outre, j'ai passé beaucoup de temps à résoudre des problèmes de mathématiques chez http://www.projecteuler.net Pour apprendre c #. Il est utile d'avoir de réels problèmes à résoudre pour apprendre une langue et un projet Euler offre des problèmes suffisamment petits que vous pouvez toujours vous concentrer sur l'apprentissage de différents aspects de la langue.


5 commentaires

Juste parce que le code compile vers la même chose ne signifie pas qu'ils sont faciles à basculer entre. Par exemple, F # compile également à CIL mais est bien différent de VB.NET et C # en raison de sa nature fonctionnelle. Mais VB.NET et C # sont à la fois algol comme de sorte que cela faciliterait leur comparaison.


@Matthew c'est un bon point. Ils ne sont pas faciles à basculer entre simplement parce qu'ils compilent à la même chose. Je vais essayer de clarifier.


Merci pour la référence de livre et le lien vers le projet Euler Je n'ai jamais rencontré cela auparavant.


Le site Euler du projet est intéressant. Je n'ai jamais su quelque chose comme celui-ci existant hors de Google's Codejam et TopCoder.


@Alex, je n'avais pas entendu parler de Google Codejam ou TopCoder, alors merci pour les références! Je pense que les défis de la projecteur sont plus pour l'enrichissement personnel que pour la concurrence, mais c'est un endroit idéal pour tester vos côtelettes de programmation.



0
votes

Si vous recherchez une lecture rapide et un tutoriel, Ce one fonctionnera. Je suis d'accord avec @TechNILELOGY et @ W69WDY qui convertissant un programme de VB.NET en C # vous aidera à comprendre les similiations et les différences entre les langandges.

J'ai converti un service Windows VB.NET en un service Windows C # et cela a aidé grandement à essayer d'apprendre C #.


0 commentaires

0
votes

J'étais un programmeur VB .NET aussi. J'ai trouvé que l'utilisation du plug-in Visual Studio Visual de Jetbrain a vraiment aidé ma courbe d'apprentissage. J'avais initialement convertir / optimiser un projet VB .NET en C # et j'ai trouvé les outils d'assistance codant vraiment utiles. La plupart du temps, j'essayais juste de trouver l'équivalent C # ainsi que l'achèvement du code me met habituellement dans la bonne direction.


0 commentaires

0
votes

J'ai aussi récemment déménagé sur C # de vb - j'ai trouvé Ce convertisseur inestimable comme outil d'apprentissage lorsque vous ne connaissez pas un peu de syntaxe C #, mais vous pouvez l'écrire dans VB.


0 commentaires

0
votes

Vous devriez commencer par certains tutoriels C # sur Internet pour comprendre comment travailler avec C #, puis lire un livre avec 300 pages maximum. Après cela, vous pouvez commencer la conversion de VB en C #. Ce n'est pas difficile. Bonne chance.


0 commentaires

0
votes

J'utilise VB.NET et C # au travail. Parfois dans le même projet même. Honnêtement, lorsque vous allumez et venez après le premier couple égaré ou manquant ; ou DIM S, il est assez facile de sauter entre les deux. Le reste des trucs (modificateurs de classe, gestionnaires d'événements, etc.) est seulement un rapide Google.


0 commentaires

2
votes

Il est étrange que vous ayez cette difficulté si vous pouvez toujours vous souvenir de quoi que ce soit à propos de C. J'ai un contexte similaire, mais je ne trouve pas C # difficile à lire du tout.

Êtes-vous confus par Linq ou Lambdas / méthodes anonymes ? edit vous dites que c'est LINQ: Voici quelques liens pour Linq.


3 commentaires

Vous avez raison, je cherchais principalement des expressions Linq. J'ai construit des applications commerciales Silverlight 4 et essayez de trouver des exemples pour les expressions LINQ impossibles à trouver pour VB.NET et j'ai essayé de les convertir et il est très frustrant de dire le moins. Les articles de magazine Visual Studio ont été très utiles. Merci également au lien avec l'autre question.


Je sympathise totalement, j'ai exactement le même problème et je trouve C # Linq difficile à lire car il est différent de VB Linq. Oh, on dirait que nous ne sommes pas les seuls . Je vais éditer ma réponse avec des liens sur Linq. 101 VB.NET LINQ Échantillons sur MSDN sont utiles, je A aimé la couverture dans le livre Programmation VB2008


+1 pour le lien quels développeurs VB devraient savoir sur C # et tous les autres grands liens.



0
votes

La seule façon dont vous allez vraiment faire la marche, est de simplement faire marcher et courir avec elle!

Bien sûr, consultez un didacticiel de base ou lisez un guide sur C # pour apprendre les bases de la syntaxe, mais vous devez ensuite trouver un projet assez simple et autonome pour vous coincer. Si vous connaissez une partie du document .NET (que vous le faites probablement), le saut ne sera pas vraiment aussi génial. Évidemment, ne choisissez pas un système vaste, complexe et critique de mission de commencer!

En fait, bien que mon projet actuel soit mon premier projet C #, je ne peux pas croire que je n'ai pas fait le commutateur plus tôt. En dehors de profiter de C #, je trouve également plus facile parce que je trouve qu'il y a des exemples plus de bonne qualité autour.


0 commentaires

0
votes

Je ne veux pas dire cela avec condescendance, mais la réponse consiste simplement à commencer à coder en C #!

Il y a beaucoup de livres, de ressources, de CD de formation (consultez AppDev.com pour une excellente vidéo basée sur une grande vidéo Formation) Mais rien ne se compare au codage des problèmes de la vie réelle!

(et je suis d'accord avec un commentaire précédent sur la conversion d'un projet récent en C #.)

"Ce que nous apprenons à faire, nous apprenons en faisant" Aristote


0 commentaires