C# Corner: C# and .NET Developer's Network All Source Code ADO.NET Exception Handling General GDI+ Internet Mobiling Multithreading Networking Printing Security Strings & Arrays Windows Forms WebForms XML.NET - Articles Effective C# FAQ How do I Learn C# Tutorials Source Code Articles FAQ Learn VB.NET Tutorials Source Code Articles FAQ Learn ASP.NET Tutorials COBOL.NET Eiffel.NET FoxPro.NET JScript .NET Learn XML Mobile & SOAP My Services Open Source VBScript .NET VC++.NET Visual J# Visual Studio.NET Introduction to C# First day with C#. This part of tutorial explains what is C#, how to install it, how to write your first program, compile and run it. Working with Data Types Explains data types in C# and how to work with them. Control Statements: Part 1 By Amisha Mehta This lesson shows how to use c# control statements, and the difference between these controls in c++/ JAVA and c#. Sample includes single selection, if-else, and multi case Control Statements: Part 2 By Amisha Mehta This lesson shows how to use while do, for, for each statements Language Preprocessor Directives By Vivek Gupta This lesson contains C# language preprocessor directrives including #if, #else, #define, #undef, #line etc with sample examples Properties in C#: New cover on old book by Vivek Gupta Properties are accessor methods whose job it is to retrieve and set the values of fields. Exception Handling By Amisha Mehta Exceptions in C# provide a structured, and type-safe way of handling both system level and application level error conditions. The exception mechanism in C# is very similar to that of C++ What & Why? Properties: Part 1 by Rahul Sharma If you were programming in C or C++ before coming to C#, you'll be a little bit confused about properties. What & Why? Properties: Part 2 by Rahul Sharma In the part 1 of this series, I discussed about the get method of the properties, with the help of which you can make your variable so that nobody can modify the value of the variable Difference using Directive and Statement by Yoganand Aiyadurai This article explains difference between using directive and using statement with sample example. C# and its Types by G. Gnana Arun Ganesh A detailed tutorial and C# types such as Value and Reference types with sample examples. Events and Delegates By Kunal Cheda Events in C# are based on delegates, the Originator defining one or more callback functions for each: A C# Syntax which Java lacks by Ashish Banerjee C# has a new iteration syntax called foreach, which I believe has been inherited from Visual Basic ( correct me if I am wrong). C# and its features by G. Gnana Arun Ganesh C# is a modern, type safe programming language, object oriented language that enables programmers to quickly and easily build solutions for the microsoft .NET platform Boxing and Unboxing by G. Gnana Arun Ganesh Boxing and unboxing is a essential concept in C#’s type system. With Boxing and unboxing one can link between value-types and reference-types C# Beginners Introduction to C# Working with Data Types C# and its Types Control Statements: Part 1 Control Statements: Part 2 Constructors and Destructors Properties in C# Exception Handling Using Attributes in C# Encapsulation in C# Exploring Delegates Namespaces http://www.c-sharpcorner.com/language.asp (1 of 4) [11/27/2001 7:17:40 PM] C# Corner: C# and .NET Developer's Network About Us Books Book Chapters Career Center Discussion Downloads Events Hosting Links Magazines Members News Letter Sponsors Training Tools Jobs Join C# Corner Our Partners Submit Code Win Prizes Mindcracker Understanding and Implementing Namepsaces in C# by G. Gnana Arun Ganesh Namespaces allow you to create a system to organize your code. A good way to organize your namespaces is via a hierarchical system. Operator Overloading in C# by Prasad H. The Source code below shows how to use OperatorOverloading in C#. Operator Overloading is pretty useful concept derived from C++ by C#. Using Attributes in C# by Rajadurai P. This article shows how to create custom attribute classes, use them in code, and query them. Using Array class and IEnumeration by Rajadurai P. This article illustrates the usage of Array class and IEnumerator. Array class Provides methods for creating, manipulating, searching and sorting arrays, thereby serving as the base class for all arrays in the common language runtime. Enumerators in C# by Prasad H. Sample example shows you how to use enumerators in C#. Visual Inheritance in C# by Prasad H. We all know that Inheritance means a extending a class with more Features without worrying about the implementation of features of hidden inside the class to be inherited. Visual Inheritance Part 2 by Prasad H. We all know that Inheritance means a extending a class with more Features without worrying about the implementation of features of hidden inside the class to be inherited. Abstract Classes and Methods by Rajesh V.S. This is a detailed analysis of Abstract classes and methods in C# with some concrete examples. Constructors and Destructors by Rajesh V.S. This detailed article talks about how constructors and destructors work in C# and how to use them in your applications. Encapsulation in C# G. G. Arun Ganesh In Object Oriented programming Encapsulation is the first pace. Encapsulation is the procedure of covering up of data and functions into a single unit (called class). Method Parameters in C# G. G. Arun Ganesh This article describes different method parameters such as value parameters, reference parameters, output parameters, and parameter arrays. Understanding Properties in C# Rajesh V.S. In C#, properties are nothing but natural extension of data fields. They are usually known as ‘smart fields’ in C# community. Understanding Structures in C# Rajesh V.S. A structure in C# is simply a composite data type consisting of a number elements of other types. Understanding Enumerators in C# Rajesh V.S. An enumeration (enum) is a special form of value type, which inherits from System.Enum and supplies alternate names for the values of an underlying primitive type. Inheritance and Polymorphism Rajesh V. S. By using the concept of inheritance, it is possible to create a new class from an existing one and add new features to it. Exploring Delegates By Filip Bulovic Delegates are a kind of type safe function pointers which are actually declared as class derived from System.MulticastDelegate. BitWise Operations in C# By Chandra Hundigam C# has lots of flexibility over manipulating with bits. Before I start explaining about bit wise manipulation I would like to give some inputs on binary operations. http://www.c-sharpcorner.com/language.asp (2 of 4) [11/27/2001 7:17:40 PM] C# Corner: C# and .NET Developer's Network Pointers in C# Rajesh V. S. C# also supports pointers in a limited extent. A pointer is nothing but a variable that holds the memory address of another type. But in C# pointer can only be declared to hold the memory address of value types and arrays. Implementing Stacks in C# Danish Sami With the help of C# we can also implement ADT (Abstract Data Types) with little effort. An example of ADT is a simple stack of integers. Working with Namespaces in C# Rajesh V. S. In C#, namespaces are used to logically arrange classes, structs, interfaces, enums and delegates. The namespaces in C# can be nested. That means one namespace can contain other namespaces also. Passing const parameters in C#, C++, and VB.NET by Bulent Ozkir Parameter passing to a function is extremely important in all programming languages. The desire to keep the passed parameter intact forced the compiler designers to add various keywords to Multiple inheritance in C# by Craig Breakspear Can you inherit from multiple classes in C#? Simply put, this cannot be done. However there are ways around it. From a design perspective you must ask yourself, Will a Class fully represent an object? Interface Component Interoperability by G. Gnana Arun Ganesh The fundamental concept behind both COM and DCOM is the interface. An interface is an agreement between a client and an object about how they will communicate with each other. Difference between const and readonly The sample example shows the difference between const and readonly Submitted by Say Gin C# Language changes from .NET Beta 1 to .NET Beta 2 This article contains C# language changes from Beta 1 to Beta 2. Submitted by Vivek Gupta. Source MSDN documentation. Using out and ref parameters By Kunal Cheda When we pass a parameter as ref to a method, the method refers to the same variable and changes made will affect the actual variable. The out and ref parameters The out and the ref parameters are used to return values in the same variables, that you pass an an argument of a method. These both parameters are very useful when your method needs to return more than one values. Serializing Objects in C# In simple words serialization is a process of storing the object instance to a disk file. Serialization stores state of the objecti.e. member variable values to disk. Deserialization is reverse of serialization i.e. Operator Overloading Example by Prasad The code uses the feature of Operator Overloading in C#. It shows how different operators are overloaded and can be used in a easy manner. Regular Expressions Example by Prasad The following example shows the use of Regular Expresssions in C#.This program has basic validation scripts for validation easily useable in all programs. . contact: webmaster@c-sharpcorner.com copyright © 2000 c-sharpcorner.com. All rights are reserved. See terms and condition to use this site and its contents. http://www.c-sharpcorner.com/language.asp (3 of 4) [11/27/2001 7:17:40 PM] C# Corner: C# and .NET Developer's Network Sponsors: devexpress microgold apress http://www.c-sharpcorner.com/language.asp (4 of 4) [11/27/2001 7:17:40 PM] C# Corner: C# and .NET Developer's Network All Source Code ADO.NET Exception Handling General GDI+ Internet Mobiling Multithreading Networking Printing Security Strings & Arrays Windows Forms WebForms XML.NET - Articles Effective C# FAQ How do I Learn C# Tutorials Source Code Articles FAQ Learn VB.NET Tutorials Source Code Articles FAQ Learn ASP.NET Tutorials COBOL.NET Eiffel.NET FoxPro.NET JScript .NET Learn XML Mobile & SOAP My Services Open Source VBScript .NET VC++.NET Visual J# Visual Studio.NET Introduction to C# This part of tutorial explains about C# and how to write and compile your first C# program from command line. What is C#? C# is a new programming language developed by Microsoft. C# has power of C++ since it's derived from C and C++. It is simpler as VB. Besides that, C# is a Java like language for web programming and it has some good features of Delphi too. Microsoft says, that C# is the best language to develop its .NET Framework applications. Installing .NET SDK Installing .NET SDK is first step to run C# on your machine. You can install .NET SDK on Windows ME, Windows NT, or Windows 2000. But Windows 2000 is recommended. After selecting your OS, you need to follow these steps: ● Install IE 5.5 ● Install Microsoft .NET Framework SDK. It's free and you can download it here. NET Framework SDK. ● After installing these you can write your code in any text editor and save it as .cs extension. Type this in an notepad and save as my.cs. C# Compiler and Editors .NET SDK Beta 1 release of Microsoft's new platform, .NET, incorporated with C# command line compiler. You must have to install .NET SDK to run a C# program. Once you install .NET SDK, you can write your C# program in any text editor including notepad, wordpad or Visual Studio. There are some third party editors are available in the market too. Some of them are free. Check out tools section of C# Corner. Write your first C# program Writing your first C# program is similar to writing C++ applications. You open any text editor, I described in the above paragraph and type this code. using System; class MyClass { static void Main() { Console.WriteLine("Hello World!"); } } Compile your first C# program Now use command line to compile your cs file. C# compiler takes at least one argument i.e., file name. Say your C# file name is myclass.cs then here is command line syntax. csc myclass.cs C# compiler creates an exe file in the bin dir of your project. Just run this exe and see the output. http://www.c-sharpcorner.com/Language/cs_lang_1.asp (1 of 2) [11/27/2001 7:19:46 PM] C# Corner: C# and .NET Developer's Network About Us Books Book Chapters Career Center Discussion Downloads Events Hosting Links Magazines Members News Letter Sponsors Training Tools Jobs Join C# Corner Our Partners Submit Code Win Prizes Mindcracker Now, lets take a look of your code line by line. The first line of your program is using System. using System. Why using System? System is a namespace which stores system classes. The Console class, I used in the program to display the output on the console is defined in the System namespace. That's why this like is there. Next line is class MyClass. The class keyword in C# is used to create a new class. class MyClass { } Each class has one static void Main() function. This function is the entry point of a C# program. static void Main() { Console.WriteLine("Hello, C# World!"); } The WriteLine method of the Console class writes text to the console. Mahesh is Admin and the founder of C# Corner. He has been programming in C++, MFC, Visual Basic, COM, ATL, Database Programming over 5 years. More articles by Mahesh contact: webmaster@c-sharpcorner.com copyright © 2000 c-sharpcorner.com. All rights are reserved. See terms and condition to use this site and its contents. Sponsors: devexpress microgold apress http://www.c-sharpcorner.com/Language/cs_lang_1.asp (2 of 2) [11/27/2001 7:19:47 PM] C# Corner: C# and .NET Developer's Network All Source Code ADO.NET Exception Handling General GDI+ Internet Mobiling Multithreading Networking Printing Security Strings & Arrays Windows Forms WebForms XML.NET - Articles Effective C# FAQ How do I Learn C# Tutorials Source Code Articles FAQ Learn VB.NET Tutorials Source Code Articles FAQ Learn ASP.NET Tutorials COBOL.NET Eiffel.NET FoxPro.NET JScript .NET Learn XML Mobile & SOAP My Services Open Source VBScript .NET VC++.NET Visual J# Visual Studio.NET Working with Data Types First thing a programmer looks for is what kind of data types a programming languages has and how to use them. In this part, I will cover C# data types and how to use them in a program. Basic Data Types Most of the data type in c# are taken from C and C++. This tables lists data types, their description, and a sample example. Data Type Description Example object The base type of all types object obj = null; string String type - sequence of Unicode characters string str = "Mahesh"; sbyte 8-bit signed integral type sbyte val = 12; short 16-bit signed integral type short val = 12; int 32-bit signed integral type int val = 12; long 64-bit signed integral type long val1 = 12; long val2 = 34L; bool Boolean type; a bool value is either true or false bool val1 = true; bool val2 = false; char Character type; a char value is a Unicode character char val = 'h'; byte 8-bit unsigned integral type byte val1 = 12; byte val2 = 34U; ushort 16-bit unsigned integral type ushort val1 = 12; ushort val2 = 34U; uint 32-bit unsigned integral type uint val1 = 12; uint val2 = 34U; ulong 64-bit unsigned integral type ulong val1 = 12; ulong val2 = 34U; ulong val3 = 56L; ulong val4 = 78UL; float Single-precision floating point type float val = 1.23F; double Double-precision floating point type double val1 = 1.23; double val2 = 4.56D; decimal Precise decimal type with 28 significant digits decimal val = 1.23M; Types in C# C# supports two kinds of types: value types and reference types. Types Description Value Types Includes simple data types such as int, char, bool, enums Reference Types Includes object, class, interface, delegate, and array types Value Types- Value type objects direct contain the actual data in a variables. With value types, the variables each have their own copy of the data, and it is not possible for operations on one to affect the other. int i = 10; Reference Types- Reference type variables stores the reference of the actual data. With reference types, it is possible for two variables to reference the same object, and thus possible for operations on one variable to affect the object referenced by the other variable. http://www.c-sharpcorner.com/Language/cs_lang_2.asp (1 of 2) [11/27/2001 7:20:02 PM] C# Corner: C# and .NET Developer's Network About Us Books Book Chapters Career Center Discussion Downloads Events Hosting Links Magazines Members News Letter Sponsors Training Tools Jobs Join C# Corner Our Partners Submit Code Win Prizes Mindcracker MyClass cls1 = new MyClass(); Data Type Conversions C# supports two types of conversions. Implicit conversions and explicit conversions. Implicit conversions are direct conversion. For example: int iVal = 34; long lVal = intValue; Explicit conversions includes type casting. conversion. For example: long lVal = 123456; int iVal = (int) lVal; Mahesh is Admin and the founder of C# Corner. He has been programming in C++, MFC, Visual Basic, COM, ATL, Database Programming over 5 years. More articles by Mahesh contact: webmaster@c-sharpcorner.com copyright © 2000 c-sharpcorner.com. All rights are reserved. See terms and condition to use this site and its contents. Sponsors: devexpress microgold apress http://www.c-sharpcorner.com/Language/cs_lang_2.asp (2 of 2) [11/27/2001 7:20:02 PM] C# Corner: C# and .NET Developer's Network All Source Code ADO.NET Exception Handling General GDI+ Internet Mobiling Multithreading Networking Printing Security Strings & Arrays Windows Forms WebForms XML.NET - Articles Effective C# FAQ How do I Learn C# Tutorials Source Code Articles FAQ Learn VB.NET Tutorials Source Code Articles FAQ Learn ASP.NET Tutorials COBOL.NET Eiffel.NET FoxPro.NET JScript .NET Learn XML Mobile & SOAP My Services Open Source VBScript .NET VC++.NET Visual J# Visual Studio.NET Control Statements Author: Amisha Mehta Control Statements: This lesson shows how to use c# control statements, and the difference between these controls in c++/ JAVA and c#. The first selection statement is programmer’s favorite “if” statement. It has three forms: 1. Single selection 2. if-then-else selection 3. multi-case selection List: 1 IfTest.cs //understanding if statement using System; class IfTest { public static void Main(){ string s; int i; Console.WriteLine("Enter a Number: "); s = Console.ReadLine(); i = Int32.Parse(s); //single selection if(i > 0) Console.WriteLine("The number {0} is positive",i); //if-then-else selection if(i > 0) Console.WriteLine("The number {0} is positive",i); else Console.WriteLine("The number {0} is not positive",i); //multi-case selection if(i == 0) Console.WriteLine("The number is zero"); else if(i > 0) Console.WriteLine("The number {0} is positive",i); else Console.WriteLine("The number {0} is negative",i); } } This program reads a number from console. Input coming from console is in string format. Int32.parse(string) is used to convert string literal to integer. http://www.c-sharpcorner.com/Language/ControlStatements1.asp (1 of 6) [11/27/2001 7:20:30 PM] C# Corner: C# and .NET Developer's Network About Us Books Book Chapters Career Center Discussion Downloads Events Hosting Links Magazines Members News Letter Sponsors Training Tools Jobs Join C# Corner Our Partners Submit Code Win Prizes Mindcracker The variable i is the object of evaluation here. c++ programmers can see that the use of if statement is same in c#. Halt it. There is one difference. The expression in an if statement must resolve to bool value. Take a look at following code. list: 2 using System; class IfTest2 { public static void Main(){ if(1) Console.WriteLine("The if statement executed"); } } when this code is complied by c# compiler, it will give the error “constant value 1 can not be converted to bool”. conditional or ( || ) and conditional and ( && ) operators are used in the same manner. Consider the following code. List: 3 LeapTest.cs //Leap year using System; class LeapTest { public static void Main(){ int year; Console.WriteLine("enter the year value (yyyy) :"); year = Int32.Parse(Console.ReadLine()); if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0 ) Console.WriteLine("The year {0} is leap year ",year); else Console.WriteLine("The year {0} is not leap year ",year); } } Similar to if-else if-else if-else form of the if statement is the “switch” statement. List: 4 SwitchTest1.cs using System; class SwitchTest1 { public static void Main(){ int i = 1; switch(i){ case 1 : Console.WriteLine("one"); break; default : Console.WriteLine("default"); } http://www.c-sharpcorner.com/Language/ControlStatements1.asp (2 of 6) [11/27/2001 7:20:30 PM] [...]... beginner for C# and NET Framework More about Vivek contact: webmaster@c-sharpcorner.com copyright © 2000 c-sharpcorner.com All rights are reserved See terms and condition to use this site and its contents Sponsors: devexpress microgold apress http://www.c-sharpcorner.com/Language/PropertiesInCS.asp (4 of 5) [11/27/2001 7:36:17 PM] C# Corner: C# and NET Developer's Network http://www.c-sharpcorner.com/Language/PropertiesInCS.asp... JAVA project and beginner for C# and NET Framework More about Vivek contact: webmaster@c-sharpcorner.com copyright © 2000 c-sharpcorner.com All rights are reserved See terms and condition to use this site and its contents Sponsors: devexpress microgold apress http://www.c-sharpcorner.com/Language/PreprocessorDirectivesCS.asp (6 of 6) [11/27/2001 7:26:05 PM] C# Corner: C# and NET Developer's Network... public static void Main(){ int i = 0; int count = 0; http://www.c-sharpcorner.com/Language/ControlStatements2.asp (1 of 3) [11/27/2001 7:20:44 PM] C# Corner: C# and NET Developer's Network About Us Books Book Chapters Career Center Discussion Downloads Events Hosting Links Magazines Members News Letter Sponsors Training Tools Jobs Join C# Corner Our Partners Submit Code Win Prizes int n = i; do{ ++count;... Ahmedabad, INDIA More details are coming soon contact: webmaster@c-sharpcorner.com copyright © 2000 c-sharpcorner.com All rights are reserved See terms and condition to use this site and its contents Sponsors: devexpress microgold apress http://www.c-sharpcorner.com/Language/ControlStatements2.asp (3 of 3) [11/27/2001 7:20:44 PM] C# Corner: C# and NET Developer's Network All Source Code ADO.NET Exception... Printing Security Strings & Arrays Windows Forms WebForms XML.NET Articles Effective C# FAQ How do I Learn C# Tutorials Learn C#: C# language's preprocessor directives Author Vivek Gupta Date of Submission User Level 6/5/2001 Beginner C# preprocessor is fundamentally very similar to C preprocessor and the whole concept in C# has been taken from C language specification “The C preprocessor is a macro processor... next statement after a loop http://www.c-sharpcorner.com/Language/ControlStatements1.asp (5 of 6) [11/27/2001 7:20:30 PM] C# Corner: C# and NET Developer's Network Enjoy Coding About the Author: Amisha Mehta, currently working as Academic Head with STG, Ahmedabad, INDIA More details are coming soon contact: webmaster@c-sharpcorner.com copyright © 2000 c-sharpcorner.com All rights are reserved See terms... devexpress microgold apress http://www.c-sharpcorner.com/Language/ControlStatements1.asp (6 of 6) [11/27/2001 7:20:30 PM] C# Corner: C# and NET Developer's Network All Source Code ADO.NET Exception Handling General GDI+ Internet Mobiling Multithreading Networking Printing Security Strings & Arrays Windows Forms WebForms XML.NET Articles Effective C# FAQ How do I Learn C# Tutorials Control Statements Author:... http://www.c-sharpcorner.com/Language/PropertiesInCS.asp (5 of 5) [11/27/2001 7:36:17 PM] C# Corner: C# and NET Developer's Network Exception Handling All Source Code ADO.NET Exception Handling General GDI+ Internet Mobiling Multithreading Networking Printing Security Strings & Arrays Windows Forms WebForms XML.NET Articles Effective C# FAQ How do I Learn C# Tutorials Author: Amisha Mehta Exceptions in C# provide a structured, and type-safe way... statement List: 2 Test2.cs using System; class Test{ http://www.c-sharpcorner.com/Language/ExceptionHandlingAM.asp (1 of 4) [11/27/2001 7:36:30 PM] C# Corner: C# and NET Developer's Network About Us Books Book Chapters Career Center Discussion Downloads Events Hosting Links Magazines Members News Letter Sponsors Training Tools Jobs Join C# Corner Our Partners Submit Code Win Prizes Mindcracker public static... http://www.c-sharpcorner.com/Language/ExceptionHandlingAM.asp (3 of 4) [11/27/2001 7:36:30 PM] C# Corner: C# and NET Developer's Network About the Author: Amisha Mehta, currently working as Academic Head with STG,Ahmedabad She has got experience in Microsoft web technology as well as Java and currently started working on net technology More details contact: webmaster@c-sharpcorner.com copyright © 2000 c-sharpcorner.com . in C# Encapsulation in C# Exploring Delegates Namespaces http://www.c-sharpcorner.com/language.asp (1 of 4) [11/27/2001 7:17:40 PM] C# Corner: C#. http://www.c-sharpcorner.com/language.asp (2 of 4) [11/27/2001 7:17:40 PM] C# Corner: C# and .NET Developer's Network Pointers in C# Rajesh V. S. C# also supports