Giáo trình C#
C# Corner: C# and .NET Developer's Network All Source CodeADO.NETException HandlingGeneralGDI+InternetMobilingMultithreadingNetworkingPrintingSecurityStrings & ArraysWindows FormsWebFormsXML.NET-ArticlesEffective C#FAQHow do ILearn C#TutorialsSource CodeArticlesFAQLearn VB.NETTutorialsSource CodeArticlesFAQLearn ASP.NETTutorialsCOBOL.NETEiffel.NETFoxPro.NETJScript .NETLearn XMLMobile & SOAPMy ServicesOpen SourceVBScript .NETVC++.NETVisual 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 TypesExplains data types in C# and how to work with them. Control Statements: Part 1 By Amisha MehtaThis 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 MehtaThis lesson shows how to use while do, for, for each statementsLanguage Preprocessor Directives By Vivek GuptaThis 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 GuptaProperties are accessor methods whose job it is to retrieve and set the values of fields.Exception Handling By Amisha MehtaExceptions 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 AiyaduraiThis article explains difference between using directive and using statement with sample example. C# and its Types by G. Gnana Arun GaneshA detailed tutorial and C# types such as Value and Reference types with sample examples. Events and Delegates By Kunal ChedaEvents in C# are based on delegates, the Originator defining one or more callback functionsfor each: A C# Syntax which Java lacks by Ashish BanerjeeC# 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 GaneshC# 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 GaneshBoxing 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# BeginnersIntroduction 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 DelegatesNamespaces http://www.c-sharpcorner.com/language.asp (1 of 4) [11/27/2001 7:17:40 PM] C# Corner: C# and .NET Developer's NetworkAbout UsBooksBook ChaptersCareer CenterDiscussionDownloadsEventsHostingLinksMagazinesMembersNews LetterSponsorsTrainingToolsJobsJoin C# CornerOur PartnersSubmit CodeWin PrizesMindcrackerUnderstanding and Implementing Namepsaces in C# by G. Gnana Arun GaneshNamespaces 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 GaneshIn 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 GaneshThis 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 NetworkPointers 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 OzkirParameter 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 BreakspearCan 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 GaneshThe 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 readonlyThe sample example shows the difference between const and readonly Submitted by Say Gin C# Language changes from .NET Beta 1 to .NET Beta 2This 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 ChedaWhen 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 PrasadThe 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 PrasadThe 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.comcopyright © 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 NetworkSponsors: 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 CodeADO.NETException HandlingGeneralGDI+InternetMobilingMultithreadingNetworkingPrintingSecurityStrings & ArraysWindows FormsWebFormsXML.NET-ArticlesEffective C#FAQHow do ILearn C#TutorialsSource CodeArticlesFAQLearn VB.NETTutorialsSource CodeArticlesFAQLearn ASP.NETTutorialsCOBOL.NETEiffel.NETFoxPro.NETJScript .NETLearn XMLMobile & SOAPMy ServicesOpen SourceVBScript .NETVC++.NETVisual J#Visual Studio.NETIntroduction 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 SDKInstalling .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# programWriting 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# programNow 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 NetworkAbout UsBooksBook ChaptersCareer CenterDiscussionDownloadsEventsHostingLinksMagazinesMembersNews LetterSponsorsTrainingToolsJobsJoin C# CornerOur PartnersSubmit CodeWin PrizesMindcrackerNow, 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.comcopyright © 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 CodeADO.NETException HandlingGeneralGDI+InternetMobilingMultithreadingNetworkingPrintingSecurityStrings & ArraysWindows FormsWebFormsXML.NET-ArticlesEffective C#FAQHow do ILearn C#TutorialsSource CodeArticlesFAQLearn VB.NETTutorialsSource CodeArticlesFAQLearn ASP.NETTutorialsCOBOL.NETEiffel.NETFoxPro.NETJScript .NETLearn XMLMobile & SOAPMy ServicesOpen SourceVBScript .NETVC++.NETVisual J#Visual Studio.NETWorking 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 TypesMost 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 Exampleobject 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;boolBoolean type; a bool value is either true or falsebool val1 = true;bool val2 = false;charCharacter type; a char value is a Unicode characterchar 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 DescriptionValue Types Includes simple data types such as int, char, bool, enumsReference Types Includes object, class, interface, delegate, and array typesValue 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 NetworkAbout UsBooksBook ChaptersCareer CenterDiscussionDownloadsEventsHostingLinksMagazinesMembersNews LetterSponsorsTrainingToolsJobsJoin C# CornerOur PartnersSubmit CodeWin PrizesMindcrackerMyClass cls1 = new MyClass();Data Type ConversionsC# 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.comcopyright © 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 CodeADO.NETException HandlingGeneralGDI+InternetMobilingMultithreadingNetworkingPrintingSecurityStrings & ArraysWindows FormsWebFormsXML.NET-ArticlesEffective C#FAQHow do ILearn C#TutorialsSource CodeArticlesFAQLearn VB.NETTutorialsSource CodeArticlesFAQLearn ASP.NETTutorialsCOBOL.NETEiffel.NETFoxPro.NETJScript .NETLearn XMLMobile & SOAPMy ServicesOpen SourceVBScript .NETVC++.NETVisual J#Visual Studio.NETControl Statements Author: Amisha MehtaControl 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 selection2. 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 NetworkAbout UsBooksBook ChaptersCareer CenterDiscussionDownloadsEventsHostingLinksMagazinesMembersNews LetterSponsorsTrainingToolsJobsJoin C# CornerOur PartnersSubmit CodeWin PrizesMindcrackerThe 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: 2using 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 yearusing 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.csusing 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 . Attributes in C# Encapsulation in C# Exploring DelegatesNamespaces http://www.c-sharpcorner.com/language.asp (1 of 4) [11/27/2001 7:17:40 PM] C# Corner: C# and. http://www.c-sharpcorner.com/language.asp (2 of 4) [11/27/2001 7:17:40 PM] C# Corner: C# and .NET Developer's NetworkPointers in C# Rajesh V. S. C# also supports