Presentation is loading. Please wait.

Presentation is loading. Please wait.

Session 1 C# Basics.

Similar presentations


Presentation on theme: "Session 1 C# Basics."— Presentation transcript:

1 Session 1 C# Basics

2 Objectives Explain the need for C#
Discuss flow of control of a C# program List the fundamental data types in C# Discuss the concepts of Boxing and UnBoxing Discuss Structures and enumerators Discuss a simple C# program

3 Microsoft .NET New platform for developing windows & web applications
Supports more than 20 languages Revolutionizes facilities available for Windows programming

4 Introduction to C# C# compiler is the most efficient compiler in the .NET family Provides native support for COM (Component Object Model) Enhances developer productivity and increases safety, by enforcing strict type checking Allows restricted use of native pointers

5 C# Program Flow A simple C# program –
/* This is the Hello world Program in C# */ using System; class HelloWorldDemo { public static void Main() Console.WriteLine (“This is the Hello World program”); }

6 C# Constructs Variables in C# are declared as follows
AccessModifier DataType Variable Public int Private string Protected float

7 C# Constructs – Contd… prefix the variable name with a ‘@’ symbol.
To use a keyword as a variable name, prefix the variable name with a symbol. using System; class VariableDemo { public static void Main() @string = ”string is a keyword but used as a variable name in this example”; Console.WriteLine }

8 C# Constructs – Contd… using System; class DefaultValDemo {
public static void Main() int[] array1 = new int[5]; Console.WriteLine(“10 multiplied by default value of second array element is {0}“ , 10 * array1[2]); }

9 C# Data Types C# Data type Description Example object
Base data type for all other types. object o = null; string Declares a variable that can store string values string s = “hello”; int Declares a variable that can store integer values. int val = 12; byte Declares a variable that can store byte integer values. byte val = 12; float Declares a variable, which can store real number values that have integer and decimals parts float val = 1.23F; bool bool val1 = true; bool val2 = false; char Declares a variable, which can store char values. char val = 'h';

10 Default Values Default values of the common data types: Type
Numeric (int,float,short) Bool False Char ‘\0’ Enum

11 Input / Output In C# Uses methods of the Console class in the System namespace The most widely used methods are – Console.ReadLine() Console.WriteLine()

12 Input / Output In C# - Contd…
using System; class TestDefaultValues { static void Main() int number, result; number=5; result=100 * number; Console.WriteLine (“Result is {0} when 100 is multiplied by number {1}”, result, number); } The highlighted line uses the placeholder {0} where the value of the specified variables (result and number) will be substituted and displayed.

13 Input / Output In C# - Contd…
using System; class InputStringDemo { public static void Main() string input; input = Console.ReadLine(); Console.WriteLine (“The input string was :{0}”, input); }

14 The if construct Used for performing conditional branching Syntax -
if (expression) { //One or more statements to be executed if the expression evaluates to true } [else //One or more statements to be executed if the expression evaluates to false }] The expression should always evaluate to an expression of Boolean type

15 Selection Statement string str = ”hello”; if (str)
System.Console.WriteLine (“The value is True”); if (str == “hello”) System.Console.WriteLine (“The Value is True”); The above piece of code will display an error message - Error CS0029 : Cannot implicitly convert type 'int' to 'bool'

16 The switch Statement Syntax switch(variable) { case value:
break; default: }

17 The switch Statement – Contd…
switch(weekday) { case 1: Console.WriteLine (“You have selected Monday”); break; case 2: Console.WriteLine (“You have selected Tuesday”); default: Console.WriteLine (“Sunday is the Default choice!”); }

18 Iteration Constructs Perform a certain set of instructions for a certain number of times or while a specific condition is true Types of iteration constructs – The While Loop The Do Loop The For Loop The foreach Loop

19 The while loop The while loop iterates through the specified statements till the condition specified is true Syntax – The break statement - to break out of the loop at anytime The continue statement - to skip the current iteration and begin with the next iteration

20 The do loop Syntax -

21 The for loop Syntax -

22 The foreach loop (1) The foreach loop is used to iterate through a collection or an array Syntax -

23 The foreach loop – Contd…
using System; public class ForEachDemo { static void Main (String[] args) int index; String[] array1=new String[3]; for (index=0;index<3;index++) array1[index]=args [index]; } foreach (String strName in array1) Console.WriteLine (strName);

24 Fundamental Types Of C#
C# divides data types into two fundamental categories Value Types int, char , and structures Reference Types - classes, interfaces, arrays and strings

25 Fundamental Types Of C# - Contd…
Just hold a value in memory Are stored in a stack Value Types Contains the address of the object in the heap = null means that no object has been referenced Reference Types

26 Value Types using System; class DataTypeTest { public static void Main()    {     int variableVal = 100;      funcTest(variableVal); Console.WriteLine(“This value of the variable is {0}",variableVal);    }    static void funcTest (int variableVal)    { int tempVar = 10;        variableVal = tempVar*20;    } }

27 Reference Types using System; class DataTypeTest {
public int variableVal; } class DataTypeTestRef static void Main() DataTypeTest dataTest = new DataTypeTest(); dataTest.variableVal = 100; funcDataTypeTest(dataTest); Console.WriteLine (dataTest.variableVal);

28 Reference Types - Contd
static void funcDataTypeTest(DataTypeTest dataTest) { int tempVar = 10;       dataTest.variableVal = tempVar*20; }

29 Value types vs. Reference types
Variable Holds Actual Value Allocated Inline (Stack) Heap Default Value Zero Null Parameter to functions Copy Value Copy Reference

30 Boxing & Unboxing Boxing is conversion of a value type into a reference type Unboxing is the conversion of a reference type into a value type

31 Boxing & Unboxing – Contd…
... class BoxEx { int objsTaker(object objectX) //objsTaker takes an object //and processes it here } object objsConverter() //objsConverter does the processing //and returns an object //Implementation of code int variable1; variable1 = 5; BoxEx boxVar = new BoxEx(); boxVar.objsTaker(variable1); //line 1 int convertVar = (int) boxVar.objsConverter(); //line 2

32 Data Types In C# C# provides us with a Unified Type System
All data types in C#, are derived from just one class, the object class using System; class ObjectProff { public static void Main() string objectVal; objectVal = 7.ToString(); Console.WriteLine (“The value now is ”+objectVal); }

33 Static Members Members are not associated with any particular object or the class Only one instance of this member is possible static int staticMem; static int instanceCount() { //instanceCount Implementation }

34 Arrays A group of values of similar data type
Belong to the reference type and hence are stored on the heap The declaration of arrays in C# follow the syntax given below - DataType[number of elements] ArrayName; int[6] array1;

35 Structures Custom data Types Can have methods defined within them
Cannot implement inheritance Represent Value types struct structEx { public int structDataMember; public void structMethod1() //structMethod1 Implementation }

36 Enumerators public class Holiday { public enum WeekDays Monday,
Tuesday, Wednesday, Thursday, Friday } public void GetWeekDays (String EmpName, WeekDays DayOff) //Process WeekDays static void Main() Holiday myHoliday = new Holiday(); myHoliday.GetWeekDays (“Richie”, Holiday.WeekDays.Wednesday);

37 Enumerators – Contd… Enumerators in C# have numbers associated with the values By default, the first element of the enum is assigned a value of 0 and is incremented for each subsequent enum element The default value can be overridden during initialization public enum WeekDays { Monday=1, Tuesday=2, Wednesday=3, Thursday=4, Friday=5 }

38 Compiling and Executing C# Program
Click 'Start  Programs Microsoft Visual Studio.Net 2003' Start Page screen showing recently used projects is displayed on the screen

39 Compiling and Executing C# Program – Contd…

40 Compiling and Executing C# Program – Contd…
Click File  New  Project to start a new project Select 'Visual C# Projects' from the list on the right hand side and 'Console Application' from the list on the left hand side Type the name of the project in the 'Name' section as Example 1. In the Solution Explorer rename ConsoleApplication1 to Chapter1 Rename the project to Example1 and Class1.cs to HelloWorldDemo.cs

41 Compiling and Executing C# Program – Contd…

42 Compiling and Executing C# Program – Contd…
Save the file and Select Build  Build Solution option to build the solution Select Start without Debugging option from the Debug menu to execute the application

43 Compiling and Executing C# Program – Contd…
Another method to compile and execute a program is using notepad and DOS prompt Step 1 – Type your code in Notepad Step 2 – Save the file with a .cs extension Step 3 – Switch to DOS prompt and type the following command csc <filename>.cs To run the C# file, type the name of the file without the extension

44 Summary C# is an object oriented language with many powerful features and is an integral part of the .Net platform Variables in C# are declared in the following way AccessModifier DataType VariableName; C# provides the if and switch…case constructs to perform operations based on the value of an expression. C# provides the following types of iteration constructs, while loop do loop for loop foreach loop

45 Summary In C#, the data types are divided into two fundamental categories namely value types and reference types. Boxing is the conversion of a value type into a reference type while Unboxing refers to converting a reference type into a value type. Structs in C# can have methods defined within them, and represent Value types. Enums (short for Enumerators) are a set of named numeric constants. C# programs can be written using the Visual Studio .NET IDE as well as Notepad


Download ppt "Session 1 C# Basics."

Similar presentations


Ads by Google