2009-07-21 9 views
1

Aujourd'hui, j'ai découvert une interface que je ne l'avais jamais entendu parler auparavant: IGroupingApprendre Invisible Caractéristiques

IEnumerable<IGrouping<YourCategory, YourDataItem>> 

Je suis chanceux d'avoir accès à certains des meilleurs livres de programmation disponibles, mais rarement dois-je viens à travers ces sortes de gemmes dans ces livres. Les blogs et podcasts fonctionnent, mais cette approche est quelque peu éparpillée. Existe-t-il un meilleur moyen d'apprendre ces choses, ou dois-je passer au crible toute la bibliothèque MSDN pour les découvrir?

+0

Quel est ce livre, juste pour la curiosité ;-) – FerranB

+0

Pour l'électeur à proximité: dupliquées dont l'un? – FerranB

+0

Quel livre, vous voulez dire celui avec IGrouper dedans? Je l'ai eu de ce poste: http://stackoverflow.com/questions/1160420/how-do-i-group-data-in-an-asp-net-mvc-view/1160455#1160455. Découvrez le commentaire de Mannish dans la réponse. –

Répondre

13

Eric Lippert's blog. Le vrai courage de C# - pourquoi il y a des limites qui peuvent sembler arbitraires à première vue, comment les décisions de conception sont prises, etc.

Sinon, pour plus de variété, regardez le Visual C# Developer Center - il y a toute une gamme de blogs et d'articles Là.

Oh, et lisez la spécification C#. Non, je le pense - certains passages peuvent être difficiles à parcourir (je vous regarde, l'inférence de type générique!) Mais il y a des choses très intéressantes là-dedans.

+0

Merci Jon, je vais vérifier. –

+2

+1 Le blog d'Eric vaut bien le temps passé à le lire. –

+2

+1 - Le blog d'Eric et le Developer Center sont tous les deux d'excellents endroits pour ceux qui veulent approfondir la langue. –

6

Le meilleur endroit pour commencer est C# de Jon Skeet blog de codage: http://msmvps.com/blogs/jon_skeet/

Il couvre régulièrement des choses que vous ne verrez nulle part ailleurs.

+1

Bien qu'il y ait souvent une très bonne raison pour que vous ne les voyiez nulle part ailleurs :) –

+0

En fait, ce qui m'étonne le plus, c'est que je vous ai battu à la réponse de celui-ci ... –

+0

Évidemment, Jon vous laisse gagner il n'aurait donc pas à faire sa propre corne. –

2

Personnellement, je aime la façon de découvrir les caractéristiques cachées sur mes propres tout en résolvant un problème spécifique. En fin de compte, une fonctionnalité cachée dont vous n'avez jamais eu besoin pour faire quelque chose est d'une valeur discutable. Cela ajoute juste de l'encombrement au cerveau.

1

La manière de le faire est d'utiliser la bibliothèque MSDN pour rechercher les choses. Ensuite, prenez un peu de temps pour regarder autour de ce que vous avez trouvé.

Ceci est particulièrement important avec la documentation API pure. Par exemple, je viens de naviguer à http://msdn.microsoft.com/en-us/library/system.xml.xmlreader.aspx (notez comment cette URL est formée). Lorsque je regarde dans le volet Contenu sur la gauche, je vois tout de XmlDocument (et XmlDocumentFragment) jusqu'à XmlReader. Au milieu sont des choses que je n'utilise que rarement ou jamais, comme XmlNamespaceScope et XmlNodeOrder.

De temps en temps, passez un peu de temps sur la «connaissance abstraite». Parfois, il est bon de regarder des arbres pour apprendre votre chemin dans la forêt. Vous ne savez jamais quand vous aurez besoin de quelque chose que vous avez appris pour vous sortir du bois.

+0

OK, je vais essayer ça. Je suis récemment passé à la nouvelle version "low bandwidth" très cool de la librairie MSDN, et il est devenu beaucoup plus facile de s'y déplacer. –

+1

Je suis d'accord, mais j'ai trouvé que je manquais d'avoir une sélection de langue «collante». Donc, j'ai cliqué sur le lien "feedback", et a été porté sur le forum pour les plaintes. J'ai lu le premier article, et on m'a parlé du mode "(léger)". J'aime encore mieux. Essayez http://msdn.microsoft.com/en-us/library/c22k3d47(lightweight).aspx. –

+0

J'aime ça! Allant de 3 à 5 secondes par page actualiser à 1 seconde sans perdre toutes les fonctionnalités. Très sympa. –

0

Pour les gens qui ne connaissent pas IGrouping:
http://msdn.microsoft.com/en-us/library/bb344977.aspx

Je lis souvent des choses utiles sur la page de démarrage Viual studio et commencer à cliquer autour d'autres mots-clés/zones. Ne pas trop promouvoir StackOverflow, mais vous trouverez aussi quelques gemmes cachées ici, simplement en regardant comment les autres gens écrivent du code.

Par exemple:
Hidden Features of C#?

+0

Tous les messages de fonctionnalités cachées peuvent être trouvés en faisant une recherche sur le site de débordement de la pile pour le tag, "hidden-features". –

+4

Excepté le message "caractéristiques cachées des fonctionnalités cachées". Celui-là est caché. –