KEMBAR78
C Sharp: Basic to Intermediate Part 01 | PDF
MSP Monday
Date: May 26, 2014
C#
Basic to Intermediate
Part 1
Presentedby ZaforIqbal
zafor.iqbal@outlook.com
Target Audience
This Lecture has been prepared for the beginners who has basic
understanding of object oriented programming or Java.
Environment Setup
What do we need?
• A Windows PC
• Visual Studio 2010/2012/2013
• Lots of passion to code!
Introduction
What is C Sharp(C#)?
C# is a simple, modern, general-purpose, object-oriented
programming language developed by Microsoft within its .NET
initiative led by Anders Hejlsberg.
Anders Hejlsberg
Basic Syntax
Hello World Example in C#
using System;
namespace HelloWorldApplication {
class HelloWorld {
static void Main(string[] args) {
/* my first program in C# */
Console.WriteLine("Hello World");
Console.ReadLine();
}
}
}
Data Types
In C#, variables are categorized into the following types:
 Value types; i.e. bool, byte, char, decimal,double etc.
 Reference types;
Object type; i.e. object obj=50; Dynamic type; dynamic d= 400;
String type; i.e. String str = “MSP Monday”;
 Pointer types: Pointer type variables store the memory address of another type.
Pointers in C# have the same capabilities as in C or C++.
i.e. char* ch; int* inr;
Type Conversion
Implicit type conversion - these conversions are performed by C# in a type-
safe manner.
Examples : conversions from smaller to larger integral types and conversions
from derived classes to base classes.
Explicit type conversion - these conversions are done explicitly by users using
the pre-defined functions. Explicit conversions require a cast operator.
Type Conversion Examples
namespace TypeConversionApplication{
class ExplicitConversion {
static void Main(string[] args){
double d = 5673.74;
int i;
i = (int)d; // cast double to int.
Console.WriteLine(i);
Console.ReadKey();
}
}
}
Variables
A variable is nothing but a name given to a storage area that our programs can
manipulate. Each variable in C# has a specific type, which determines the size
and layout of the variable's memory; the range of values that can be stored
within that memory; and the set of operations that can be applied to the
variable.
Syntax for variable definition in C# is:
<data_type> <variable_name> = value;
i.e. double pi = 3.14159;
Constants and Literals
 The constants refer to fixed values that the program may not alter during its
execution. These fixed values are also called literals. Constants can be of any
of the basic data types like an integer constant, a floating constant, a
character constant, or a string literal. There are also enumeration constants
as well.
 The constants are treated just like regular variables except that their values
cannot be modified after their definition.
Example
using System;
namespace DeclaringConstants{
class Program {
static void Main(string[] args){
const double pi = 3.14159; // constant declaration
double r;
Console.WriteLine("Enter Radius: ");
r = Convert.ToDouble(Console.ReadLine());
double areaCircle = pi * r * r;
Console.WriteLine("Radius: {0}, Area: {1}", r, areaCircle);
Console.ReadLine();
}
}
}
Operators
An operator is a symbol that tells the compiler to perform specific mathematical or
logical manipulations. C# is rich in built-in operators and provides the following type of
operators:
 Arithmetic Operators; i.e. +,-,*,/,% etc.
 Relational Operators; i.e. ==,!=,>,<,>=,<= etc.
 Logical Operators; i.e. &&, ||, ! etc.
 Bitwise Operators; i.e. &,|,^ etc.
 Assignment Operators; i.e. =,+=.-=;*= etc.
 Misc Operators; i.e. sizeof(),typeof(),is,as etc.
Conditional Statements
LOOP
The Infinite Loop?
using System;
namespace Loops{
class Program{
static void Main(string[] args)
{
for ( ; ; )
{
Console.WriteLine(“Yo, is this ever gonna end?");
}
}
}
}
Encapsulation
 Encapsulation is defined 'as the process of enclosing one or more items
within a physical or logical package'. Encapsulation, in object oriented
programming methodology, prevents access to implementation details.
 Encapsulation is implemented by using access specifiers. An access specifier defines the scope
and visibility of a class member. C# supports the following access specifiers:
 Public
 Private
 Protected
 Internal
 Protected internal
Encapsulation
 Public : Any public member can be accessed from outside the class.
 Private : Private access specifier allows a class to hide its member variables and member functions
from other functions and objects. Only functions of the same class can access its private members.
Even an instance of a class cannot access its private members.
 Protected : Protected access specifier allows a child class to access the member variables and member
functions of its base class. This way it helps in implementing inheritance.
 Internal : Internal access specifier allows a class to expose its member variables and member functions
to other functions and objects in the current assembly. In other words, any member with internal
access specifier can be accessed from any class or method defined within the application in which the
member is defined.
 Protected internal : The protected internal access specifier allows a class to hide its member variables
and member functions from other class objects and functions, except a child class within the same
application. This is also used while implementing inheritance.
Arrays
An array stores a fixed-size sequential collection of elements of the same
type. An array is used to store a collection of data, but it is often more useful
to think of an array as a collection of variables of the same type.
 Initializing an Array
double[] balance = new double[10];
 Assigning Values to an Array
double[] balance = new double[10];
balance[0] = 4500.0;
String
In C#, you can use strings as array of characters, however, more common
practice is to use the string keyword to declare a string variable. The string
keyword is an alias for the System.String class.
Creating a String Object
You can create string object using one of the following methods:
 By assigning a string literal to a String variable
 By using a String class constructor
 By using the string concatenation operator (+)
 By retrieving a property or calling a method that returns a string
 By calling a formatting method to convert a value or object to its string representation
Example
using System;
namespace StringApplication
{ class Program
{ static void Main(string[] args)
{
//from string literal and string concatenation
string fname, lname;
fname = “MSP";
lname = “Monday";
string fullname = fname + lname;
Console.WriteLine("Full Name: {0}", fullname);
Example Continued
//by using string constructor
char[] letters = { 'H', 'e', 'l', 'l','o' };
string greetings = new string(letters);
Console.WriteLine("Greetings: {0}", greetings);
//methods returning string
string[] sarray = { "Hello", "From", “MSP", “Monday" };
string message = String.Join(" ", sarray);
Console.WriteLine("Message: {0}", message);
Example Continued
//formatting method to convert a value
DateTime waiting = new DateTime(2012, 10, 10, 17, 58, 1);
string chat = String.Format("Message sent at {0:t} on {0:D}",
waiting);
Console.WriteLine("Message: {0}", chat);
Console.ReadKey() ;
}
}
}
That’s it for today!
We will resume from next Session!
Thank you
C Sharp: Basic to Intermediate Part 01

C Sharp: Basic to Intermediate Part 01

  • 1.
  • 2.
    C# Basic to Intermediate Part1 Presentedby ZaforIqbal zafor.iqbal@outlook.com
  • 3.
    Target Audience This Lecturehas been prepared for the beginners who has basic understanding of object oriented programming or Java.
  • 4.
    Environment Setup What dowe need? • A Windows PC • Visual Studio 2010/2012/2013 • Lots of passion to code!
  • 5.
    Introduction What is CSharp(C#)? C# is a simple, modern, general-purpose, object-oriented programming language developed by Microsoft within its .NET initiative led by Anders Hejlsberg. Anders Hejlsberg
  • 6.
    Basic Syntax Hello WorldExample in C# using System; namespace HelloWorldApplication { class HelloWorld { static void Main(string[] args) { /* my first program in C# */ Console.WriteLine("Hello World"); Console.ReadLine(); } } }
  • 7.
    Data Types In C#,variables are categorized into the following types:  Value types; i.e. bool, byte, char, decimal,double etc.  Reference types; Object type; i.e. object obj=50; Dynamic type; dynamic d= 400; String type; i.e. String str = “MSP Monday”;  Pointer types: Pointer type variables store the memory address of another type. Pointers in C# have the same capabilities as in C or C++. i.e. char* ch; int* inr;
  • 8.
    Type Conversion Implicit typeconversion - these conversions are performed by C# in a type- safe manner. Examples : conversions from smaller to larger integral types and conversions from derived classes to base classes. Explicit type conversion - these conversions are done explicitly by users using the pre-defined functions. Explicit conversions require a cast operator.
  • 9.
    Type Conversion Examples namespaceTypeConversionApplication{ class ExplicitConversion { static void Main(string[] args){ double d = 5673.74; int i; i = (int)d; // cast double to int. Console.WriteLine(i); Console.ReadKey(); } } }
  • 10.
    Variables A variable isnothing but a name given to a storage area that our programs can manipulate. Each variable in C# has a specific type, which determines the size and layout of the variable's memory; the range of values that can be stored within that memory; and the set of operations that can be applied to the variable. Syntax for variable definition in C# is: <data_type> <variable_name> = value; i.e. double pi = 3.14159;
  • 11.
    Constants and Literals The constants refer to fixed values that the program may not alter during its execution. These fixed values are also called literals. Constants can be of any of the basic data types like an integer constant, a floating constant, a character constant, or a string literal. There are also enumeration constants as well.  The constants are treated just like regular variables except that their values cannot be modified after their definition.
  • 12.
    Example using System; namespace DeclaringConstants{ classProgram { static void Main(string[] args){ const double pi = 3.14159; // constant declaration double r; Console.WriteLine("Enter Radius: "); r = Convert.ToDouble(Console.ReadLine()); double areaCircle = pi * r * r; Console.WriteLine("Radius: {0}, Area: {1}", r, areaCircle); Console.ReadLine(); } } }
  • 13.
    Operators An operator isa symbol that tells the compiler to perform specific mathematical or logical manipulations. C# is rich in built-in operators and provides the following type of operators:  Arithmetic Operators; i.e. +,-,*,/,% etc.  Relational Operators; i.e. ==,!=,>,<,>=,<= etc.  Logical Operators; i.e. &&, ||, ! etc.  Bitwise Operators; i.e. &,|,^ etc.  Assignment Operators; i.e. =,+=.-=;*= etc.  Misc Operators; i.e. sizeof(),typeof(),is,as etc.
  • 14.
  • 15.
  • 16.
    The Infinite Loop? usingSystem; namespace Loops{ class Program{ static void Main(string[] args) { for ( ; ; ) { Console.WriteLine(“Yo, is this ever gonna end?"); } } } }
  • 17.
    Encapsulation  Encapsulation isdefined 'as the process of enclosing one or more items within a physical or logical package'. Encapsulation, in object oriented programming methodology, prevents access to implementation details.  Encapsulation is implemented by using access specifiers. An access specifier defines the scope and visibility of a class member. C# supports the following access specifiers:  Public  Private  Protected  Internal  Protected internal
  • 18.
    Encapsulation  Public :Any public member can be accessed from outside the class.  Private : Private access specifier allows a class to hide its member variables and member functions from other functions and objects. Only functions of the same class can access its private members. Even an instance of a class cannot access its private members.  Protected : Protected access specifier allows a child class to access the member variables and member functions of its base class. This way it helps in implementing inheritance.  Internal : Internal access specifier allows a class to expose its member variables and member functions to other functions and objects in the current assembly. In other words, any member with internal access specifier can be accessed from any class or method defined within the application in which the member is defined.  Protected internal : The protected internal access specifier allows a class to hide its member variables and member functions from other class objects and functions, except a child class within the same application. This is also used while implementing inheritance.
  • 19.
    Arrays An array storesa fixed-size sequential collection of elements of the same type. An array is used to store a collection of data, but it is often more useful to think of an array as a collection of variables of the same type.  Initializing an Array double[] balance = new double[10];  Assigning Values to an Array double[] balance = new double[10]; balance[0] = 4500.0;
  • 20.
    String In C#, youcan use strings as array of characters, however, more common practice is to use the string keyword to declare a string variable. The string keyword is an alias for the System.String class. Creating a String Object You can create string object using one of the following methods:  By assigning a string literal to a String variable  By using a String class constructor  By using the string concatenation operator (+)  By retrieving a property or calling a method that returns a string  By calling a formatting method to convert a value or object to its string representation
  • 21.
    Example using System; namespace StringApplication {class Program { static void Main(string[] args) { //from string literal and string concatenation string fname, lname; fname = “MSP"; lname = “Monday"; string fullname = fname + lname; Console.WriteLine("Full Name: {0}", fullname);
  • 22.
    Example Continued //by usingstring constructor char[] letters = { 'H', 'e', 'l', 'l','o' }; string greetings = new string(letters); Console.WriteLine("Greetings: {0}", greetings); //methods returning string string[] sarray = { "Hello", "From", “MSP", “Monday" }; string message = String.Join(" ", sarray); Console.WriteLine("Message: {0}", message);
  • 23.
    Example Continued //formatting methodto convert a value DateTime waiting = new DateTime(2012, 10, 10, 17, 58, 1); string chat = String.Format("Message sent at {0:t} on {0:D}", waiting); Console.WriteLine("Message: {0}", chat); Console.ReadKey() ; } } }
  • 24.
    That’s it fortoday! We will resume from next Session! Thank you