Click here to Skip to main content
14,579,642 members

Best C# article of May 2008

This competition has ended

Contribute to CodeProject and you'll automatically be in the running for a monthly prize!

Each month at CodeProject we gather together the best of the articles submitted the previous month and ask our readers to choose the best of the best. Entry is automatic - just submit you articke and we'll do the rest.

Check out the submission guidelines for information on posting articles.

Current Entries

Articles that match the contest criteria are automatically entered. The top 50 entries are shown.

23 May 2008
Adrian Akison
Discusses the six major types of combinatorial collections, with examples and formulas for counting. Expands with a C# Generics-based set of classes for enumerating each meta-collection.
22 May 2008
S. M. SOHAN
An article that shows a simple way of changing the default value of the DataContext CommandTimeout
4 May 2008
Sasha Goldshtein
In this article, we will look into JIT optimizations, with specific focus on inlining.
1 Jun 2008
DonSn
The Evaluation Engine is a parser and interpreter that can be used to build a Business Rules Engine. It allows for mathematical and boolean expressions, operand functions, variables, variable assignment, comments, and short-circuit evaluation. A syntax editor is also included.
26 May 2008
Dion Kurczek
A simple, object-oriented 2D Sprite Engine for .NET 2.0.
15 Jun 2012
Eric Williams (winthusiasm.com)
This article discusses how to create an HTML editor server control specifically for the Microsoft AJAX environment.
12 Jun 2012
Jose Menendez Póo
A serious project on an Office-like Ribbon control
22 May 2008
Josh Smith
Reviews how using a ViewModel can abstract away the complexities of the WPF TreeView control.
4 May 2008
Josh Smith
Introduces a generic technique of chaining commands together.
5 Sep 2013
Jani Giannoudis
Simplifying the .NET User Configuration for Windows Forms and WPF
22 May 2008
Andrew Kirillov
Some ideas about Hands Gesture Recognition in still images and video feeds, using the AForge.NET framework (C#).
28 May 2008
Nicholas Butler
An investigation into advanced concurrent programming.
8 Feb 2012
Jpmon1
A robust text editor that supports plug-ins, code parsing, projects, and more.
8 May 2008
Jake Morgan
Deploy zip files to your web application and serve compressed files directly out of the zip file.
4 Sep 2008
Ernest Laurentin
Multimedia PeakMeter control - .NET version
30 May 2008
Daniel Pistelli
An article about .NET internals and native compiling.
8 May 2008
Sasha Goldshtein
In this article, we will look into reading data from an unmanaged array of bytes into a managed data structure. We will use multiple approaches to optimize the process.
3 Aug 2008
Omar Al Zabir
Download all external scripts on your Web page after the visible content is loaded for faster perceived speed and donwload multiple JavaScript in batch for better actual speed
7 May 2008
Sacha Barber
Using the AddIn model pipeline.
28 Jun 2008
Derek Bartram
A Code Project orientated Kevin Bacon game utilising the CodeProject.dll
19 May 2008
Josh Smith
A gradual introduction to the world of WPF data binding.
23 Apr 2010
peterchen, Josh Beach, Nelviticus
An update to a stand-alone tool for editing Visual Studio's MRU list
14 May 2008
Daniel Pistelli
An article about .NET internals and code injection
23 Jun 2008
Samir NIGAM
This article describes how to create a slide-show user control with the help of the DataList control.
24 Feb 2009
Sacha Barber
An article showing how to do DeepZoom in Silverlight 2.0.
24 May 2008
Efi Merdler
The purpose of this article is to explain how a secure channel is built. The article will explain the structure of a Very Simple Secured Protocol (VSSP) that sits above the TCP/IP layer.
9 May 2008
Anthony Mushrow
Introduction to the methods used to create a simple game.
15 May 2008
Daniel M. Camenzind
This project allows you to add mouse gesture functionality to your Windows Forms application with just a few lines of code.
3 May 2008
Sasha Goldshtein
In this article, we will write a full-blown WMI provider in managed code and consume that provider from managed code using the WMI extensions in .NET 3.5.
8 Oct 2009
Anthony Mushrow
Create and edit 2D maps using tiles
2 May 2008
Sharon Salmon
This article demonstrates a simple way to bind to any HTML document event from a .NET WinForms application or a BandObject or a Browser Helper Object.
20 May 2008
Richard Blythe
Allows the user to draw vector graphic shapes, then convert them to GDI+ code.
8 Jun 2008
Christoph Husse
In contrast to existing ones, my RTE is fully written in C#, and doesn't use any HTML rendering or JavaScript. Most common features are supported!
15 May 2008
Dan Letecky
A light-weight month picker that will save you an hour or two
22 May 2008
Pete O'Hanlon
Shows how certain WPF concepts can be easily understood via ASP.NET.
9 May 2008
Maxim Berezov
CWindow (a wrapper class for the window API functions) + IuSpy(Spy++ analog).
29 May 2008
Ted John
A control to edit maps or small pictures in tile form.
26 Aug 2010
RocketteScientist
Use the Graphics object to draw almost anything on top of your form's controls
3 May 2008
Josh Smith
Shows how to write the same simple program in Windows Forms and WPF.
26 Mar 2013
Lukasz Swiatkowski
How to notify Windows Explorer about which files are used and locked by your application.
21 May 2008
Marc Clifton
A wizard framework that supports plug-ins for the wizard pages.
14 May 2008
Jeff B. Cromwell
Use the R Language in C#.NET applications.
3 Jun 2008
Ashutosh Phoujdar
Utility to generate schema description from existing SQL Server databases.
19 May 2008
Saravanan.B
Generates C# data access layer method code for SQL Server stored procedures
19 Jun 2008
Christian Del Bianco
An ASP.NET DropDownList custom control with the HTML OptionGroup feature.
25 May 2008
Ahmed IG
A Simple GUI Tool for SQL 2005 Reports deployment without using BI Development Studio
12 Nov 2009
Mikael Svenson
The article shows how to implement a value type array as a memory mapped file to conserve physical memory.
18 May 2008
defwebserver
A wizard that allows you to FTP an application to a remote server and then launch the configuration wizard from the web browser to update the database connection.

Current Participants

Those with articles that match the contest criteria are automatically entered.

Adrian Akison
Team Leader Zuuse Pty Ltd
Australia Australia
I have been a professional software developer for twenty years, starting with C++ and migrated to C#. While I have transitioned into full time management, writing code is still my passion. As I don't write code for work very often, I have had the opportunity to apply my programming skills as a hobby where I have recently authored two Windows 8 store apps. First, an Asteroids tribute game, 'Roid Rage and most recently Shared Whiteboard (which does what it says).

I make a habit of contributing production code to every project I run. Most notably, I have recently run teams to build The Navigator for The Advertiser newspaper and Street Lights Out for SA Power Networks.
Ahmed IG
Software Developer (Senior) NTP Software - www.ntpsoftware.com
Egypt Egypt
No Biography provided
Andrew Kirillov
Software Developer IBM
United Kingdom United Kingdom
Started software development at about 15 years old and it seems like now it lasts most part of my life. Fortunately did not spend too much time with Z80 and BK0010 and switched to 8086 and further. Similar with programming languages – luckily managed to get away from BASIC and Pascal to things like Assembler, C, C++ and then C#. Apart from daily programming for food, do it also for hobby, where mostly enjoy areas like Computer Vision, Robotics and AI. This led to some open source stuff like AForge.NET, Computer Vision Sandbox, cam2web, ANNT, etc.

Going out of computers I am just a man loving his family, enjoying traveling, doing some sports, a bit of books, a bit of movies and a mixture of everything else. Always wanted to learn playing guitar, but it seems like 6 strings are much harder than few dozens of keyboard’s keys. Will keep progressing ...
Anthony Mushrow
Software Developer
England England
*blip*
Ashutosh Phoujdar
Architect Infosys Technologies Ltd.
India India
An Software Architect having work experience of 8+ years in Architecture, Design and Development of Enterprise class application for Analytic s and Business Intelligence. Having hands-on experience primarily in Microsoft Technology Stack including(but not limited to) .NET, SQL Server, SharePoint Server, Biztalk, Withal know to program in Java, Perl and Shell. Currently working as Product Technical Architect in Infosys Technologies Ltd. Products R&D division. He has worked on development of best in class Supply Chain Optimization System and Spend Classification Software for optimizing indirect spend. An avid programmer by heart and passionate for solving any challenging and complex business problems. He is advocate of Open source and love to share solutions with open source communities like
1.Stack Overflow
2. nHibernate
.

Award's :
Prize winner in Competition "Best article of May 2008"

Articles :
Click to see my CodeProject Articles

Open Source Contributions:
Click to see my Open Source Project

Blog :
Share a solution | Explore the .NET world

Link'd :
LinkedIn Profile

His Favorite(s) :
nHibernate - The best ORM.
nHibernate Contributed Tools
Christian Del Bianco
Software Developer
Italy Italy
Email: christian.delbianco@gmail.com
Skype: christian.delbianco
Christoph Husse
Software Developer SecurityRevolutions
Germany Germany
No Biography provided
Dan Letecky
Czech Republic Czech Republic
Daniel M. Camenzind
Switzerland Switzerland
No Biography provided
Daniel Pistelli
Software Developer
Germany Germany
The languages I know best are: C, C++, C#, Assembly (x86, x64, ARM), MSIL, Python, Lua. The environments I frequently use are: Qt, Win32, MFC, .NET, WDK. I'm a developer and a reverse engineer and I like playing around with internals.

You can find most of my work at http://ntcore.com.
defwebserver
Software Developer (Senior) http://ADefWebserver.com
United States United States
Michael Washington is a Microsoft MVP. He is a ASP.NET and
C# programmer.
He is the founder of
AiHelpWebsite.com,
LightSwitchHelpWebsite.com, and
HoloLensHelpWebsite.com.

He has a son, Zachary and resides in Los Angeles with his wife Valerie.

He is the Author of:
Derek Bartram
Software Developer Rail Research UK
United Kingdom United Kingdom
I originally studied for a masters in engineering of software engineering at The University of Birmingham during 2000-2004, of which I received a 2:1. I continued at Birmingham University working with Civil Engineering and Rail Research UK where I am currently in my final year of a 3 year PhD project developing a Computational Intelligent Approach to Railway Intervention Planning. Although my work has a significant focus on railway engineering and associated practices much of my work is with data mining (on SQL Server 2008) and computational intelligence (CI) techniques. My key areas of expertise in CI are clustering algorithms (including Rival Penalised Competitive Learning) and evolutionary algorithms.

Outside of my formal work I enjoy testing the latest technologies such as .NET 3.5 and the many frameworks of which it comprises (mainly WPF). I have several projects on the go including a .NET and DirectX port of Quake 3 and many utility libraries. I also maintain an extensive website coded in Cold Fusion which is regularly updated; more information is available about me there.
Dion Kurczek
United States United States
No Biography provided
dmihailescu
Software Developer (Senior)
United States United States
Decebal Mihailescu is a software engineer with interest in .Net, C# and C++.
DonSn
Software Developer (Senior)
United States United States
Developer
Efi Merdler
Software Developer
Israel Israel
A computer science master student at Bar Ilan University under the supervision of Dr. Gal Kaminka.
Dealing mainly with trajectory mining.
Eric Williams (winthusiasm.com)
Web Developer Winthusiasm
United States United States
Eric Williams is a .NET and Web developer who has been working with ASP.NET AJAX since the March 2006 Atlas CTP. Eric is the founder of Winthusiasm (winthusiasm.com), a .NET technology company that offers consulting and development services, and Colorado Geographic (coloradogeographic.com).
Ernest Laurentin
Software Developer (Senior)
United States United States
Ernest is a multi-discipline software engineer.
Skilled at software design and development for all Windows platforms.
-
MCSD (C#, .NET)
Interests: User Interface, GDI/GDI+, Scripting, Android, iOS, Windows Mobile.
Programming Skills: C/C++, C#, Java (Android), VB and ASP.NET.

I hope you will enjoy my contributions.
Jake Morgan
Chief Technology Officer Elsinore Technologies, The Issue Management Expert
United States United States
Jake Morgan
Chief Technology Officer

CTO Jake Morgan brings a diverse background and over 7 years of software development experience to Elsinore, having created successful software applications in both the public and private sector, and founding a wildly popular online community.

Before joining Elsinore in 2005, Jake led the design and development of the NC FAST Online Verification system, used by the NC Department of Health and Human Services to verify eligibility for billions of dollars in benefits. He also spent time at Nortel Networks and founded the TheWolfWeb.com, a vibrant online community for NC State students, which supported over 15 million page views a month. At Elsinore he oversees the design and development of IssueNet Issue Management Software.

Jake is an alumnus of NC State University, where he received a BS in Mechanical Engineering.
Jani Giannoudis
Software Developer (Senior)
Switzerland Switzerland
No Biography provided
Jeff B. Cromwell
CEO The Cromwell Workshop
United States United States
Dr. Jeff B. Cromwell is the CEO/Neuroeconomist at The Cromwell Workshop.

Scholar Site: http://independent.academia.edu/JeffCromwell
Web Site: www.cromwellworkshop.com
Jose Menendez Póo
Team Leader
Mexico Mexico
I'm in game programming now: https://itunes.apple.com/us/app/ugly-aliens-training-center/id859271884?ls=1&mt=8

Jose Manuel Menéndez Poó

- I've been programming Windows and Web apps since 1997.
- My greatest concern nowadays is user interface usability.

Questions and stuff by twitter: @menendezpoo

Blog
menendezpoo.com
Josh Smith
Software Developer (Senior) Black Pixel
United States United States
Josh creates software, for iOS and Windows.

He works at Black Pixel as a Senior Developer.

Read his iOS Programming for .NET Developers[^] book to learn how to write iPhone and iPad apps by leveraging your existing .NET skills.

Use his Master WPF[^] app on your iPhone to sharpen your WPF skills on the go.

Check out his Advanced MVVM[^] book.

Visit his WPF blog[^] or stop by his iOS blog[^].

See his website Josh Smith Digital[^].
Jpmon1
Software Developer Halliburton
United States United States
Lukasz Swiatkowski
Software Developer
Poland Poland
I am a graduate of Wroclaw University of Science and Technology, Poland.

My interests: reading, programming, drawing, Japan, Spain.
Marc Clifton
Architect Interacx
United States United States
Blog: https://marcclifton.wordpress.com/
Home Page: http://www.marcclifton.com
Research: http://www.higherorderprogramming.com/
GitHub: https://github.com/cliftonm

All my life I have been passionate about architecture / software design, as this is the cornerstone to a maintainable and extensible application. As such, I have enjoyed exploring some crazy ideas and discovering that they are not so crazy after all. I also love writing about my ideas and seeing the community response. As a consultant, I've enjoyed working in a wide range of industries such as aerospace, boatyard management, remote sensing, emergency services / data management, and casino operations. I've done a variety of pro-bono work non-profit organizations related to nature conservancy, drug recovery and women's health.
Maxim Berezov
Ukraine Ukraine
No Biography provided
Mikael Svenson
Other Comperio
Norway Norway
I like to work with diverse technologies but spend most of my time doing .Net in various settings.

I code for fun!
Nicholas Butler
United Kingdom United Kingdom

I built my first computer, a Sinclair ZX80, on my 11th birthday in 1980.
In 1992, I completed my Computer Science degree and built my first PC.
I discovered C# and .NET 1.0 Beta 1 in late 2000 and loved them immediately.
I have been writing concurrent software professionally, using multi-processor machines, since 1995.

In real life, I have spent 3 years travelling abroad,
I have held a UK Private Pilots Licence for 20 years,
and I am a PADI Divemaster.

I now live near idyllic Bournemouth in England.

If you would like help with multithreading, please contact me via my website:



I can work 'virtually' anywhere!
Pete O'Hanlon
CEO
United Kingdom United Kingdom
A developer for over 30 years, I've been lucky enough to write articles and applications for Code Project as well as the Intel Ultimate Coder - Going Perceptual challenge. I live in the North East of England with 2 wonderful daughters and a wonderful wife.

I am not the Stig, but I do wish I had Lotus Tuned Suspension.
peterchen
Klippel
Germany Germany
Peter is tired of being called "Mr. Chen", even so certain individuals insist on it. No, he's not chinese.

Peter has seen lots of boxes you youngsters wouldn't even accept as calculators. He is proud of having visited the insides of a 16 Bit Machine.

In his spare time he ponders new ways of turning groceries into biohazards, or tries to coax South American officials to add some stamps to his passport.

Beyond these trivialities Peter works for Klippel[^], a small german company that wants to make mankind happier by selling them novel loudspeaker measurement equipment.


Where are you from?[^]



Please, if you are using one of my articles for anything, just leave me a comment. Seeing that this stuff is actually useful to someone is what keeps me posting and updating them.
Should you happen to not like it, tell me, too
Richard Blythe
Software Developer Unity3 Software
United States United States
Richard Blythe is founder and CEO of Unity3 Software.
In his spare time he enjoys flying Cessna 172s, reading, playing his Taylor acoustic guitar and recording music. He's latest non-computer endeavor is to learn violin. (Ouch)
RocketteScientist
Software Developer (Senior)
United States United States
No Biography provided
S. M. SOHAN
Other ThoughtWorks
Canada Canada
Consultant
Read my blog at http://smsohan.blogspot.com
Sacha Barber
Software Developer (Senior)
United Kingdom United Kingdom
I currently hold the following qualifications (amongst others, I also studied Music Technology and Electronics, for my sins)

- MSc (Passed with distinctions), in Information Technology for E-Commerce
- BSc Hons (1st class) in Computer Science & Artificial Intelligence

Both of these at Sussex University UK.

Award(s)

I am lucky enough to have won a few awards for Zany Crazy code articles over the years

  • Microsoft C# MVP 2016
  • Codeproject MVP 2016
  • Microsoft C# MVP 2015
  • Codeproject MVP 2015
  • Microsoft C# MVP 2014
  • Codeproject MVP 2014
  • Microsoft C# MVP 2013
  • Codeproject MVP 2013
  • Microsoft C# MVP 2012
  • Codeproject MVP 2012
  • Microsoft C# MVP 2011
  • Codeproject MVP 2011
  • Microsoft C# MVP 2010
  • Codeproject MVP 2010
  • Microsoft C# MVP 2009
  • Codeproject MVP 2009
  • Microsoft C# MVP 2008
  • Codeproject MVP 2008
  • And numerous codeproject awards which you can see over at my blog
Saifi Hasan
India India
I have done Master Degree in Computers and MCAD and working on Microsoft technologie since last 4 yrs. Currently working with TCS (India).
Samir NIGAM
Technical Lead Infogain India Pvt Ltd
India India


Samir NIGAM is a Microsoft Certified Professional. He is an insightful IT professional with results-driven comprehensive technical skill having rich, hands-on work experience n web-based applications using ASP.NET, C#, AJAX, Web Service, WCF, jQuery, Microsoft Enterprise Library , LINQ, MS Entity Framework, nHibernate, MS SQL Server & SSRS.



He has earned his master degree (MCA) from U.P. Technical University, Lucknow, INDIA, his post graduate dipoma (PGDCA ) from Institute of Engineering and Rural Technology, Allahabad, INDIA and his bachelor degree (BSc - Mathematics) from University of Allahabad, Allahabad, INDIA.



He has good knowledge of Object Oriented Programming, n-Tier Architecture, SOLID Principle, and Algorithm Analysis & Design as well as good command over cross-browser client side programming using JavaScript & jQuery,.



Awards:


Saravanan.B
Singapore Singapore
No Biography provided
Sasha Goldshtein
Chief Technology Officer SELA Group
Israel Israel
Sasha Goldshtein is the CTO of SELA Group, an Israeli company specializing in training, consulting and outsourcing to local and international customers.

Sasha's work is divided across these three primary disciplines. He consults for clients on architecture, development, debugging and performance issues; he actively develops code using the latest bits of technology from Microsoft; and he conducts training classes on a variety of topics, from Windows Internals to .NET Performance.

You can read more about Sasha's work and his latest ventures at his blog: http://blogs.microsoft.co.il/blogs/sasha

Sasha writes from Jerusalem, Israel.
Sharon Salmon
CEO LogOnce - www.logonce.com
Israel Israel
I have been writing code for more than 12 years in C C++ Java & C#.
Since 2004 I had been specializing in .Net C# .
ever since I discovered C# I am a big fan of it.
I live in Tel-Aviv Israel
I recently founded new software startup.
My Company site is www.logonce.com


e-mail: sharon@logonce.com
Ted John
United Kingdom United Kingdom
Ted John started programming at an early age using Visual Basic and HTML. As he gained more experience, he starting writing utilities for his favourite video games.

In his spare time he currently writes program for fun in mostly VB.NET, C# and C++. He also runs a website in PHP and a wiki.

He also enjoys playing strategy games such as popular Tycoon games and Populous: The Beginning (his favourite game).
You must sign in to participate in this contest.
This contest has ended.
1 May - 31 May 2008