Array Collections File String Windows VB.NET Algorithm ASP.NET Cast Class Compression Convert Data Delegate Directive Enum Exception If Interface Keyword LINQ Loop Method .NET Number Regex Sort StringBuilder Struct Switch Time Value

The square is green. All shapes and colors are abstractions. All computer programs are built with abstractions. Indeed, methods and variables exist in material form no more than square or green. Programs are beautiful; their construction is typically not—it is very difficult and very complex.
DateTime Examples List Examples Dictionary Examples Override Method Goto Loop Example [RSS]The programmer, like the poet, works only slightly removed from pure thought-stuff.
He builds his castles in the air, from air, creating by exertion of the imagination.
Brooks, p. 7
The world as we know it depends on programming languages,
because all the software running on all the computers was written
in some programming language.
Aho et al., p. 1
Computers by their very nature are the most inflexible, desireless, rule-following
of beasts....
How, then, can be intelligent behavior be programmed?
Hofstader, p. 26

Arrays—these are the building blocks upon which most other collections are based in the .NET Framework. For this reason, they are an essential part of your development, as a C# developer.
Array ExamplesCollections are type instances that contain other type instances; they include the List, ArrayList and Dictionary types. These types, as well as many others, are detailed here.
Collections
It's hard to get anything done with the C# language without a basic understanding of strings. For this reason, tutorials on the string type and its methods are a good place to start.
String Type
You can make lots of different Windows programs using the Windows Forms platform, and many of the controls available are described in the Windows Forms section here. Also, the DataGridView is often required for data-driven programs.
Windows FormsThe class is the core conceptual unit in the C# language. With a class, you can describe functionality, and through inheritance, you can formulate more advanced models that make your program easier to maintain, faster, more reliable.
Class Examples
The .NET Framework offers the System.Data namespace, which contains many useful types such as the DataTable or the DataRow. These types are described and examples are provided on this site.
DataDo you have the time? Even if you don't, this site has useful information about the DateTime type in the C# language. You can manipulate and format time representations.
Time Representations
Not all programs are written in the C# language: the VB.NET language is popular in some organizations. We help you learn how to use it in an effective way.
VB.NET Tutorials
Almost every large website has some content that is hard to categorize. On Dot Net Perls, this content gets put in the Misc. category.
Misc. Articles
Something about computer programming interests me. It is something puzzling, something narrow yet limitless: it has depth. I learned languages and I wrote programs, but questions persisted and I asked myself, "What is the meaning of all this?" I wrote this site to answer my question.
Computer programming is nothing without meaning. Syntax and grammar are important—they are a small part of meaning. As for semantics, the higher meaning of programs, of algorithms, of languages—I found most of computer programming can be understood with compiler theory. I describe many methods in the .NET Framework; most act on an intermediate representation of your data; several must be called for your program to work.
I'm your author. I think programming computers is fun and I hope you do too! The languages presented here are a great way to develop a deeper understanding of computer programming. Because that's what it's all about: understanding. Make sure to be very serious all the time too.
Years ago, I decided I wanted to read every computer science and programming book ever written. After a while of that, I decided to only read the good ones. Along the way, I kept some of my notes and these notes eventually became Dot Net Perls after many revisions.
While this site is mostly based on original research, it was not developed in a vacuum. The site has a works cited page.
Bibliography
You can contact me at the email address listed on this page. I am happy to hear all questions and comments about the site. Feel free to email me about anything you feel like. I often respond within one week.
Please email: sam@dotnetperls.com

Please do not copy and paste or reproduce the copyrighted writing or images on this website on another web site. You can use the code samples on this site in personal or commercial projects. If the code to your project then appears on the Internet, this is an allowed use.
© 2007-2012 Sam Allen. All rights reserved.