2008-10-11 7 views
14

Vous voyez souvent, sur des sites comme The Daily WTF, des exemples de code surchargé qui auraient dû être juste un appel à une méthode intégrée dans le framework .NET. Quels espaces de noms/classes devraient être considérés comme des connaissances essentielles pour un développeur commençant son premier travail .NET?Quelles sont les parties les plus importantes du framework .NET pour un débutant?

Conformément aux instructions de Joel Spolsky pour ce type de questions, veuillez limiter vos réponses aux questions individuelles aux fins de vote.

Répondre

14
System; 
System.Collections; 
System.Collections.Generic; 
+0

Je voudrais également ajouter System.Text.RegularExpressions. – Vivek

+1

Not System.Collections cependant, eeee-vil collections faiblement typées .... – RCIX

+2

RegularExpressions pour débutant absolu? Ouais ... –

4

System.String

et apprendre à utiliser des expressions régulières qui sont exposées par l'espace de noms System.Text.RegularExpressions. Cela vous fera gagner énormément de temps si vous finissez par réécrire des analyseurs de texte ou d'autres tâches liées aux chaînes qui ont déjà des fonctions intégrées.

http://www.regular-expressions.info/dotnet.html

Et le WTF quotidien est impressionnant: D

-2

http://msdn.microsoft.com/en-us/library/system.xml.aspx

System.Xml est également très bon. Apprenez à utiliser ces classes/méthodes pour pouvoir manipuler les fichiers XML très rapidement et facilement sans réinventer la roue. Même si vous n'utilisez jamais XML vous-même, vous le rencontrerez partout. Mettez un peu de temps dans l'apprentissage:

XML

XSLT

Schémas

RSS

SOAP

Comme tous ces éléments sont largement utilisés dans les applications .NET. Vous pouvez trouver de bonnes informations pour presque tous ces à:

http://www.w3schools.com/

Et aussi; Lorsque vous apprenez comment l'utiliser, veuillez ne pas en abuser: D

+0

Je ne qualifierais pas XML de «bon pour les débutants». – RCIX

6

using System;

Le système est probablement l'espace de nom le plus important car il contient les fonctionnalités de base telles que Object et Array, ainsi que GC (Garbage Collector).

0

System.Data, en particulier Datatable,

10

System.IO est très important.

Comprendre comment Streams et les différents travaux de mise en oeuvre (FileStream, MemoryStream, CompressionStream) lorsqu'il est combiné avec des données binaires ou texte à partir d'une instance TextReader/TextWriter est une compétence essentielle.

+0

Les flux sont une partie essentielle à comprendre. Cependant, ce n'est pas le plus intuitif (et à mon avis l'un des pires éléments du cadre) – alexmac

2

Si vous travaillez dans VB.NET Je dirais que le Mon espace est très important. Il contient des raccourcis vers beaucoup de zones du cadre qui étaient répandues partout dans le cadre. C'est aussi assez intuitif. Vous pouvez écrire des choses comme:
Pour chaque imprimante My.Computer.Printers
ou
My.Computer.FileSystem.OpenFile (Nom du fichier)
My.Computer.Info.AvailablePhysicalMemory
My.Computer.Screen.PrimaryScreen .WorkingArea

+0

Ouais, et un excellent moyen de ne pas être en mesure de passer en C# au besoin :) Vraiment, je suggère d'éviter le My namespace travailler seul. Oh, et dans BCL c'est System.IO.File.Open (FileName) - c'est encore plus court: D – OregonGhost

+0

Oui, j'étais d'accord J'éviterais Mon espace de noms – alexmac

+0

Bien que cela ne soit pas explicitement indiqué dans la question (je suis en train de le changer maintenant), mon intention est d'apprendre C# d'abord, donc l'espace de nom Mon, tout en étant utile à beaucoup, ne me sert pas. Merci quand même! – AgentConundrum

8
System.IDisposable 

pas correctement la disposition des objets qui mettent en œuvre (cours d'eau, les connexions de base de données, prises, etc.) conduit à des erreurs de fichiers verrouillés, les connexions de bases de données ouvertes et beaucoup d'autres désagréables et difficiles à trouver des bugs dans votre logiciel .

http://www.codeproject.com/KB/cs/idispose.aspx

+0

Dispose n'est clairement pas un problème de débutant à mon avis. –

+0

Tout simplement parce que les nouveaux développeurs de haut niveau et "expérimentés" savent maintenant à quel point il est important de gérer les ressources, vous ne devriez pas l'ignorer en tant que débutant. – nlaq

+4

Savoir comment implémenter IDisposable n'est pas pour les débutants mais sachant qu'il existe et que vous devez disposer des objets qui l'implémentent. –

0
  • System.IO pour les opérations de fichiers
  • System.Collections & System.Collections.Generic - apprendre à manipuler/utiliser des listes, dictionnaires, etc.
0

Il devrait être une ligne à tracer entre un développeur Windows et un développeur Web, où l'un ou l'autre peut utiliser le .NET Framework. System.Web est très utile si vous faites du développement Web, ainsi que de savoir comment .NET interagit avec IIS, alors que cela peut ne pas être pertinent pour un développeur qui fait des applications Windows et console.

Ils commencent à flouter à certains moments, de sorte qu'un développeur devrait essayer de voir où ils veulent être dans la pile, par ex. Est-ce qu'ils veulent tout faire comme dans un environnement de petites entreprises ou se concentrer principalement sur le développement, comme les grands magasins peuvent le faire.

7

System.Brains et System.CommonSense

Questions connexes