C# Corner

Resources  
  • Shuffle Game for BeginnersJan 05, 2000. This code sample is a GDI+ shuffle game aimed for beginners. Attached zip file includes the exe and the Shuffle.cs file.
  • Building the Middle Tier in the Microsoft .NET FrameworkJan 16, 2000. Building the middle tier in the Microsoft .NET Framework.
  • Working with Relational Data in ADO.NETMay 03, 2001. Working with hierarchal data was not that easy with the previous version of ADO.
  • Difference Using Directive and StatementJul 26, 2001. This article explains difference between using directive and using statement with sample example.
  • CDataService: A Generic Database Access ClassAug 09, 2001. Using a generic database access component in data-aware applications can simply development and separate data tier from business tier.
  • Customizable Generic Form Validation ControlOct 01, 2001. This control performs form validations at the client-side irrespective of the web server.
  • Observer and .NET event delegatesDec 17, 2001. The purpose of this article is to try to introduce observer pattern and compare it to .NET event delegate handling of notifications.
  • Implementing IEnumerator and IEnumerable Interfaces using Inner Class in C# Feb 28, 2002. .NET framework provides IEnumerable and IEnumerator interfaces to implement collection like behavior to user defined classes.
  • Sorting Object Using IComparer and IComparable Interfaces Mar 01, 2002. The System.Collections namespace contains interfaces and classes that define various...
  • Multi-threaded Web Applications - Case II: Port ScannerMar 12, 2002. This article continues the 4-parts series of Multi-threaded Web Applications. In the first part, I have demonstrated how you can use multi-threading with ASP.NET to make a web based search engine more responsive, and to reduce the time required to compose the result. In this article, I will demonstrate how you can apply the same technique to a web based port scanner.
  • Boxing and Performance of CollectionsMar 14, 2002. In this article, I will compare some performance issues of values and references types during boxing and unboxing operations.
  • Tutorial: Working with Files and DirectoriesApr 03, 2002. One of the rich experiences in working with .NET is a huge collection of Base Class Libraries .
  • MP3 JukeBoxApr 30, 2002. This is stable code and more generic than the first release. It has better error handling now to make it more 'idiot proof'.
  • .NET Performance Counters, Part 1: Predefined CLR Performance CountersMay 13, 2002. In this article, I will describe what a performance counter is and introduce you to the predefined counters that you can use to monitor the state of the CLR while your applications run.
  • Writing a Generic Data Access ComponentJul 17, 2002. I've received couple of emails people asking me how can they use a common data provider to access various types of data sources without loosing the power and flexibility of native data provider libraries.
  • Writing a Generic Data Access ComponentJul 17, 2002. OK, I've received couple of emails people asking me how can they use a common data provider to access various types of data sources without loosing the power and flexibility of native data provider libraries.
  • Writing a Generic Data Access Component - Flexible ApproachJul 18, 2002. Here is one more flexible approach to achieve the same. I prefer this approach to generic data access.
  • A Generic Data Access Component using Factory PatternJul 24, 2002. This article shows to utilize the System.Activator class and a factory pattern to create the concrete provider classes.
  • A Generic Data Access Component using Factory PatternJul 24, 2002. Another way to solve this problem is to utilize the System.Activator class and a factory pattern to create the concrete provider classes as was pointed-out in Dan Fox's article "Design an Effective Data-Access Architecture" (.netmagazine, vol. 2, no. 7).
  • A Generic Data Access Component using Factory PatternJul 30, 2002. the article A Generic Data Access Component using Factory Pattern provides a very good way of creating ADO.Net data provider independent applications, but there is one problem with it. Different ADO.Net data providers use different approaches in labeling of parameters in SQL statement.
  • Developing a Card Game using Collections and PropertiesAug 08, 2002. In this article, author develops a card game using collections and properties.
  • Understanding Garbage Collection in the .NET FrameworkAug 09, 2002. In this article we will explore the Garbage Collection feature in the .Net framework and the activities required in applications to manage resources complementing the Garbage Collector.
  • Understanding Generic Type in C#Aug 15, 2002. Before we start tampering around the code, lets understand why we need a generic type?
  • Creating Strongly Typed Custom Collections in C#Sep 02, 2002. In this article, author shows you how to create and use strongly typed custom collections.
  • Remoting Calls RecommendationSep 19, 2002. The goal of this article is not to describe remoting technology in details. It is more focused at the practical design and implementation mistakes development process concerning garbage collection and performance.
  • Remoting Calls RecommendationsSep 19, 2002. The goal of this article is not to describe remoting technology in details. It is more focused at the practical design and implementation mistakes during development process concerning garbage collection and performance.
  • BlackJackOct 10, 2002. So as a learning experience, I decided to try writing a Blackjack game.
  • Puzzle ControlOct 15, 2002. In this application I had combined the power of C# and AI in order to solve the "puzzle problem".
  • Maze Solver Oct 28, 2002. Solving mazes is one of those problems, at least with the algorithm I've chosen here.
  • FreeCell Game using Windows FormsNov 14, 2002. FreeCell is an implementation of the FreeCell card game using Windows Forms.
  • Daleks in .NETDec 11, 2002. The other night my girlfriend dragged me down to the NYC Public Library claiming that they had a huge Science Fiction movie section. Admittedly my taste in movies and my wife's taste in movies can vary slightly, however, I was willing to take a chance, given that rentals at the library are free as opposed to $4 at the local video store.
  • Using Stored Procedures in Conjuction with DataAdapterJan 09, 2003. A stored procedure is a named collection of SQL statements that are stored in the database. To the client a stored procedure acts similar to a function.
  • Project Trilma .NETFeb 19, 2003. In 1883 George H. Monks from Boston designed Halma, an interesting board game with simple rules.
  • Missile Command .NET Feb 23, 2003. Missile Command .NET is a simple video game written in C# using GDI+ for graphics. It's a tribute to the classic Missile Command game by Atari. I wrote this game to teach myself more about programming in C#.
  • Dots GameMar 06, 2003. Here is a dots game developed using C# and GDI+. New version of the game will be coming soon.
  • Using Generic Algorithms to Layout Circuit BoardsApr 07, 2003. This article tells you how to use a Genetic Algorithm to optimally layout parts on a circuit board so they have the shortest connections between them.
  • C# Video PokerApr 14, 2003. This Video Poker game is an imitation of a casino Video Poker machine. It is written using Windows Forms.
  • Dynamically Setting Properties of a Class from a DatabaseMay 12, 2003. This example demonstrates a powerful feature of Reflection that will allow you to dynamically set the values of a class.
  • Sorted List and Web Server ControlJun 09, 2003. This article shows you to take advantage of SortedList in data binding with Web Server controls.
  • Data Access Layer based on dataSetsJul 01, 2003. This article aims to introduce the reader to several conceptual problems encountered in the development of a generic Data Access Layer (from now on referred to as DAL).
  • .NET Class for SerializationJul 14, 2003. This article is an approach to create a generic class for the serialization.
  • Lingo Game in C#Jul 30, 2003. It is a Lingo game developed in C#. It is based upon Game Show Network's Lingo but has a few modifications to it.
  • Using Genetic Algorithms to Generate Evolutionary Art in C# and .NETOct 10, 2003. In this article we will experiment a bit with genetic algorithms and creating fitness functions that produce art on a Windows Form.
  • In Depth ASP.NET using ADO.NET: Part IIINov 18, 2003. In this article we will discuss a number of ways to retrieve, show, and update data with ASP.NET forms using ADO.NET. Also, we will have a clear idea about the most common server controls in ASP.NET.
  • Generic Web Service ProxyFeb 04, 2004. In this article I will explain how you can consume a web service without using the standard "Add Web Reference" in Visual Studio and how to do this without using SOAP.
  • DataSet in C#Feb 17, 2004. The ADO.NET DataSet is a data construct that can contain several relational rowsets, the relations that link those rowsets, and the metadata for each rowset. The DataSet also tracks which fields have changed, their new values and their original values, and can store custom information in its Extended Properties collection. The DataSet can be exported to XML or created from an XML document, thus enabling increased interoperability between applications.
  • DataView in C#Feb 17, 2004. The ADO.NET DataSet is a data construct that can contain several relational rowsets, the relations that link those rowsets, and the metadata for each rowset. The DataSet also tracks which fields have changed, their new values and their original values, and can store custom information in its Extended Properties collection. The DataSet can be exported to XML or created from an XML document, thus enabling increased interoperability between applications.
  • DataTable Events in C#Feb 17, 2004. The ADO.NET DataSet is a data construct that can contain several relational rowsets, the relations that link those rowsets, and the metadata for each rowset. The DataSet also tracks which fields have changed, their new values and their original values, and can store custom information in its Extended Properties collection. The DataSet can be exported to XML or created from an XML document, thus enabling increased interoperability between applications.
  • Constructing a DataTable using C#Feb 17, 2004. The ADO.NET DataSet is a data construct that can contain several relational rowsets, the relations that link those rowsets, and the metadata for each rowset. The DataSet also tracks which fields have changed, their new values and their original values, and can store custom information in its Extended Properties collection. The DataSet can be exported to XML or created from an XML document, thus enabling increased interoperability between applications.
  • DataTable in C#Feb 17, 2004. The ADO.NET DataSet is a data construct that can contain several relational rowsets, the relations that link those rowsets, and the metadata for each rowset. The DataSet also tracks which fields have changed, their new values and their original values, and can store custom information in its Extended Properties collection. The DataSet can be exported to XML or created from an XML document, thus enabling increased interoperability between applications.
  • Data Binding in DataGrid Control using C#Feb 17, 2004. The ADO.NET DataSet is a data construct that can contain several relational rowsets, the relations that link those rowsets, and the metadata for each rowset. The DataSet also tracks which fields have changed, their new values and their original values, and can store custom information in its Extended Properties collection. The DataSet can be exported to XML or created from an XML document, thus enabling increased interoperability between applications.
  • DataReader in C#Feb 17, 2004. The ADO.NET DataSet is a data construct that can contain several relational rowsets, the relations that link those rowsets, and the metadata for each rowset. The DataSet also tracks which fields have changed, their new values and their original values, and can store custom information in its Extended Properties collection. The DataSet can be exported to XML or created from an XML document, thus enabling increased interoperability between applications.
  • DataAdapter in C#Feb 17, 2004. The ADO.NET DataSet is a data construct that can contain several relational rowsets, the relations that link those rowsets, and the metadata for each rowset. The DataSet also tracks which fields have changed, their new values and their original values, and can store custom information in its Extended Properties collection. The DataSet can be exported to XML or created from an XML document, thus enabling increased interoperability between applications.
  • New Features in C# 2.0 : Part 1Mar 08, 2004. In a two part series I will explain new features introduces in C# language version 2.0. In this article I will talk about generics.
  • Generics in C#Mar 08, 2004. Parametric Polymorphism is a well-established programming language feature. Generics offers this feature to C#. The best way to understand generics is to study some C# code that would benefit from generics.
  • Generic database access with Mimer Provider ManagerMar 09, 2004. The Mimer Provider Manager uses different plugins to access different underlying ADO.NET providers. Plugins are developed for Oracle, SQL Server, ODBC, and OLE DB.
  • Shopping Cart Application in ASP.NETApr 22, 2004. This is an online shopping cart application written in ASP.NET and C# where user can browse, add items to the shopping cart and place orders.
  • Tablet PC Ink Editing Modes - Select and Delete InkJun 25, 2004. In my previous articles, I discussed how to use Ink and set its properties to draw on a Windows Forms and Windows controls. In this article, I will discuss some more features of Tablet PC Ink including selecting and deleting ink, Ink collection, and Ink object.
  • Thread Safe Collections ArrayList and QueueSep 24, 2004. The attached project provides a dll containing a wrapper around the non-thread safe ArrayList and Queue classes. The wrapper implements the most common functions of this collection elements.
  • Generics in C#Oct 06, 2004. Generics are the most useful C# 2.0 language extensions, beside Anonymous methods, Iterators, Partial types And Nullable types.
  • New Features in C# version 2.0 - Partial TypesOct 12, 2004. Partial types are new addition to C# language version 2.0, which is available with the .NET Framework 2.0 or Visual Studio 2005. This article discusses the partial classes and how to create and use them in your applications.
  • Microsoft CRM Customization: MS Exchange Transport SMTP Event SinkOct 18, 2004. Microsoft CRM has variety of customizations options and tools. The official and the most popular is Microsoft CRM SDK: collection of C#.Net and partially VB.Net classes, methods and code samples.
  • A Chess Program using C#Nov 29, 2004. This is a chess program, made using C#. It has used object oriented concepts and design patterns like Flyweight, Factory and Decorator. Two player can play this game and it has facility to drag-drop pieces. It also shows potential positions of each pieces which is useful for learning.
  • Creating simple Add-in for Visual Studio.NETMar 16, 2005. An add-in is a tool that you create programmatically by using objects, methods, properties, collections in .NET's extensibility model. This compiled application enables you to automate the difficult and tedious tasks within the visual studio integrated development environment (IDE).
  • Language Extensions in C# 2.0Apr 21, 2005. This article intends to the C# 1.x developers and covers what-why-how the new enhancement .The philosophy behind the document is to have quick update on C# 2.0 and leverage this in your day to day development work.
  • Generic Data Providers VS Specific Data ProvidersApr 23, 2005. This article explains what are the issues or options we have if we use generic data objects such as IDbcommand, Idbconnection etc in place of specific data objects such as SqlCommand or SqlConnection.
  • What the heck is Generics?May 20, 2005. This article provides the use of Generics and scenarios in which it will be useful.
  • What the heck is Generics?May 20, 2005. Generics are new addition to C# 2.0. This article provides the use of generics and scenarios in which it will be useful.
  • What is new in C# 2.0?May 30, 2005. In this article, I discuss new features added to C# 2.0.
  • OOPS Concepts and .NET Part 2: Inheritance, Abstraction, & PolymorphismJun 22, 2005. The following article is the second of a three-part article series that presents definitions and samples for different Object-Oriented Programming (OOP) concepts and its implementation in .NET. The first part examined the concepts of classes, objects, and structures. This part examines the concepts of inheritance, abstraction, and polymorphism. The third and last part will examine the concepts of interface, multiple interface inheritance, collections, and overloading.
  • OOPs Concepts and .NET Part 1: Classes, Objects, and StructuresJun 22, 2005. The following article kicks off a three-part article series that will present definitions and samples for different Object-Oriented Programming concepts and its implementation in .NET. The first part will examine the concepts of classes, objects, and structures. The second part will examine the concepts of inheritance, abstraction, and polymorphism. The third and last part will examine the concepts of interface, multiple interface inheritance, collections, and overloading.
  • Generic Types in C# 2.0 with SampleAug 01, 2005. This article discusses generic types available in C# 2.0. The article also shows some sample source code on how to use generic types.
  • Understanding ADO.Net Provider Factory in .Net 2.0Aug 08, 2005. This article describes the ADO.NET Provider Factory in .NET 2.0
  • Programming with .NET Compact Framework 1.0 and SQL CE 2.0 : Part IIAug 11, 2005. In this article I am going to talk about garbage collection and JIT process in .NET compact framework and what are the differences between these two model of framework.
  • Designing Sortable Collections using IComparableNov 21, 2005. If you are dealing with collection of objects, there are times when you need to sort the object collection. In this article, I will discuss how to use IComparable interface to design sortable arrays.
  • Generic 'T, K' Database ComponentDec 17, 2005. I have written a C# 2.0 (Visual Studio 2005), Generic <T, K> Database component, The component has simplified the architecture and the implementation by allowing me to keep the number of overloaded methods to a minimum.
  • Revised Generic 'T, K' Database ComponentDec 20, 2005. This is the code behind the Generic 'T, K' Database Component.
  • Garbage Collector AlgorithmDec 22, 2005. This article explains how garbage collector algorithm works in order to clean managed heap.
  • Building Generic Data Access Class using ADO.Net 2.0Jan 03, 2006. In this article we are going to explore some new features of the generic data access supported by ADO.Net 2, and also we will have a look at generic collections and generic interfaces.
  • C# Heap(ing) Vs Stack(ing) in .NET: Part IJan 14, 2006. Even though with the .NET framework we don't have to actively worry about memory management and garbage collection (GC), we still have to keep memory management and GC in mind in order to optimize the performance of our applications.
  • C# Heap(ing) Vs Stack(ing) in .NET: Part IIJan 15, 2006. Having a basic understanding of how memory management works will help explain the behavior of the variables we work with in every program we write. In this article I'll cover some of the behaviors we need to be aware of when passing parameters to methods.
  • C# Heap(ing) Vs Stack(ing) in .NET: Part IVJan 30, 2006. Having a basic understanding of how memory management works will help explain the behavior of the variables we work with in every program we write. In this article we’ll look further into Garbage Collection (GC) and some ways to keep our applications running efficiently by using static class members.
  • Generics in C# 2.0Feb 02, 2006. In this article we will see how we can use generics in C#, we have read this concept as templates in C++.
  • An Introduction to C# GenericsFeb 06, 2006. There is a reality; most of the developers confuse about C# Generics. Actually, there is no reason for that. If your background comes from C++ or Java you may understand more easily. What “Templates” tell you from your C++ knowledge or “Generics” from Java.
  • The C# Value Type and BoxingFeb 17, 2006. Even though with the .NET framework we don't have to actively worry about memory management and garbage collection (GC), we still have to keep memory management and GC in mind in order to optimize the performance of our applications. One of the things we need to be aware of is how the Common Language Runtime (CLR) deals with references to value types.
  • New features in C# 2.0Feb 18, 2006. In this article, I will learn about and use the new features in C# 2.0 added by the Microsoft designers, such as generics, anonymous methods, partial types, static classes, nullable types, and limiting access to properties.
  • Data Access Component and the Factory Design PatternApr 05, 2006. A generic Data Access Component implementation written in C# that supports SQL, Oracle, OLEDB and ODBC data providers. Using the Factory design pattern for instantiating the data provider correct and specific objects determined at run time.
  • Limitations of ArrayLists in C#Apr 13, 2006. This article discusses some features of ArrayLists and there shortcomings/limitations.
  • Generics in C# 2.0Apr 17, 2006. This articles comes in series with my last article - <a href= http://www.c-sharpcorner.com/UploadFile/Saurabh.Mishra/GenericsInC2PartI04122006074306AM/GenericsInC2PartI.aspx class=normal>Limitations in ArrayLists</a>. In this article, I specifically talk about Generics and how they improve upon arraylists and how they solve the issues posed by ArrayLists.
  • An Elegant C# Data Access Layer using the Template Pattern and GenericsMay 22, 2006. The GOF Template pattern coupled with .NET 2.0 Framework generics provides an awesome synergistic alliance. This article demonstrates how to drastically reduce the amount of code required in building a data access layer. Less code to debug... less code to break... less code to maintain... what could be better?
  • Generic DataGridViewJul 05, 2006. DataGridView is a new control which is more flexible for coding than simple datagrid. However, there are a lot of developer having diffulties about DataGridView Calendar, Mask, ComboBox and also validations.
  • Sorting Collection of Custom Type using GenericJul 06, 2006. This article shows a simple and easy way to sort the business object collection using generic.
  • Iterator Design PatternJul 11, 2006. This article, explains how to use the Iterator pattern to manipulate any collection of objects. To explain this I am using two interfaces IEnumerator and IEnumerables.
  • TDO - Typed Data Object 2.0Aug 10, 2006. Tdo – Typed Data Object is a set made up of a base classes library and a .NET 2.0 source code generator for Data Layers based on Ms Sql Server 2000/MSDE/2005/EXPRESS databases and the .NET Framework 2.0.
  • A guide to ObjectDataSource controlNov 17, 2006. One of the best new features of the forthcoming ASP.NET 2.0 will be the ObjectDataSource control. However, as I found out in my experimentation what seems like a simple control has some complex behaviours to master to get it working properly. If (like me) you have an existing data access layer you may have to make changes to be able to use ObjectDataSource.
  • Build Your Own Visual Studio: An Application Framework for Editing Objects at Run TimeDec 22, 2006. This article describes a generic application framework that may be of some use in projects that would need an interface similar to Visual Studio. The application demonstrates approaches to providing a toolbox, a workspace, an object treeview, and an object editor.
  • Image Mapping UtilityFeb 23, 2007. This article describes an easy approach to building a simple image mapping utility that may be used to mark and store points as pixel based coordinates from an image file or directly from a web page.
  • Building Data Access ClassFeb 27, 2007. In this article I will describe one of the ways to build data access layer component, using such feature of the VS 2005 as generic.
  • How to assign Text and Values to Items in an Unbound List Based ControlMar 28, 2007. The purpose of this article is to discuss the construction of a couple of simple custom controls that extend both the Combobox and the Listbox controls to allow them to be associated with both a text and a value property for each item in the control's list.
  • TreeView Control in C#Apr 16, 2007. This is an article addressing some of the basics of working with a TreeView control; the article will address dynamically adding TreeNodes to a TreeView control, searching the nodes to find and highlight a single node or a collection of nodes.

About generic-collections

NA
File APIs for .NET
Aspose are the market leader of .NET APIs for file business formats – natively work with DOCX, XLSX, PPT, PDF, MSG, MPP, images formats and many more!
Download Free eBooks