Friday, February 08, 2008 #

I Don't Know C#

Okay, maybe I do know C# a little bit. In fact, I think I'm fairly decent at it. But I've got a lot to learn. I don't even know all of the language features of C# it seems, and that's just the language. There's also the entire .NET library and the countless third party libraries to learn about.

But what made me feel like a newbie recently was somethig I read on a link from Scott Guthrie's blog yesterday morning. I was checking out one of his regular link posts. One of the posts that caught my eye was The Power of Yield by Joshua Flanagan. Yield is a cool feature that allows you to write a method that returns IEnumerable or IEnumerable<T> and the method will execute as you are enumerating through the list instead of building the entire list first and then returning it and enumerating through it. And it will only run the method until you stop enumerating through the list. I'm not going to write a demo because the post above already has an excellent demonstration. But it's a very cool feature of C#.

The fact is that before I read that post I was completely unaware of the yield keyword in C#. I always try to keep up on the new features of the language and the framework but I miss things. I don't see how anyone could keep up with all of it, though some people certainly seem to always be on top of the latest developments.

It makes me wonder, how much of the .NET framework is the average engineer really famliar with? My guess is the average developer is familiar with less than half of the classes in the .NET framework. I've been working with ASP.NET my entire professional career but there are still a number of built in ASP.NET controls that I've never used. I'm competent when it comes to WinForms but to do anything advanced I'd have to have to do some serious research. I haven't even started digging into WPF yet.

So while most of my blog posts will be about about sharing knowledge, I thought I'd start by commenting on how much I don't know.

posted @ Friday, February 08, 2008 8:11 PM | Feedback (3)