0% found this document useful (0 votes)
129 views71 pages

C# 101: Intro To C# Programming

This document provides an introduction to C# programming through a 3-part course titled C# 101. Part 1 covers C# fundamentals like setting up the development environment, an overview of the C# language, writing a first program, and built-in data types. Part 2 focuses on object-oriented programming concepts like classes, objects, inheritance, and polymorphism. Part 3 discusses data structures like arrays and collections. The document provides examples and exercises to help learn C# programming concepts.

Uploaded by

hatemhan ay
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
129 views71 pages

C# 101: Intro To C# Programming

This document provides an introduction to C# programming through a 3-part course titled C# 101. Part 1 covers C# fundamentals like setting up the development environment, an overview of the C# language, writing a first program, and built-in data types. Part 2 focuses on object-oriented programming concepts like classes, objects, inheritance, and polymorphism. Part 3 discusses data structures like arrays and collections. The document provides examples and exercises to help learn C# programming concepts.

Uploaded by

hatemhan ay
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 71

C# 101: Intro to C# Programming

Introduction
• Your Name
• Your day job
• Your last holiday destination?
C# 101
• C# Fundamentals
– Setting up your development environment
– Language Overview
– How C# Works
– Writing your first program
– Built-in Data Types
– Conditionals and Loops
C# 102
• Object-oriented Programming
– Classes and Objects
– Polymorphism, Inheritance and Encapsulation
– Functions and Libraries
C# 103
• Data Structures
– Arrays
– Collections
C# 101: Introduction to C#

Setting up your Development


Environment
Installing Integrated Development Kit
• Download latest VS IDE from
https://www.visualstudio.com/en-
us/downloads/download-visual-studio-vs.aspx
What is an IDE?
• IDE = Integrated Development Environment
• Makes you more productive
• Includes text editor, compiler, debugger,
context- sensitive help, works with different
SDKs
• Visual Studio is the most widely used IDE
Installing Visual Studio
• Download and install the latest Visual Studio
for .Net framework(64 Bit version) from
https://www.microsoft.com/en-
gb/download/details.aspx?id=30653
• To start Visual Studio
– On PC, double-click on Visual Studio
Hands-on Exercise

Visual Studio Setup & Demo


C# 101: Introduction to C#

Language Overview
C# Language Overview

• Object-oriented
• Widely available
• Widely used
C# Versions
• Brief History…
- C#'s principal designer and lead architect at Microsoft is Anders Hejlsberg, was previously
involved with the design of Pascal, Delphi and Visual J++
• Major Version Releases
– C# 1.0 (2002)
– C# 2.0 ( 2005)
– C# 3.0 (2008)
– C# 4.0 (2010)
– C# 5.0 (2012)
– C# 6.0 (2015)
Visual Studio Editions
• Visual Studio Standard Edition
• Visual Studio Enterprise Edition
• Visual Studio Community Edition
• Visual Studio Express Edition
.NET Framework
A programming infrastructure created by Microsoft for building,
deploying, and running applications and services that use .NET
technologies, such as desktop applications and Web services.

The .NET Framework contains three major parts:


the Common Language Runtime.
the Framework Class Library.
ASP.NET.

.NET framework is required to develop and compile programs

Developers must have this installed


C# 101: Introduction to C#

How C# works
How C# Works
C# File Structure
C# 101: Introduction to C#

Writing Your First Program


Hello, World!
Writing Your First C# Program
• Create a new project in your IDE named Csharp101
• Create a HelloWorld class in the src folder inside the Csharp101 project as illustrated
below.

using System;
namespace HelloWorldApplication
{
class HelloWorld
{
static void Main(string[] args)
{ /* my first program in C# */
Console.WriteLine("Hello World");
Console.ReadKey();
}
}
}
Compiling Your First Java Program
• Save the HelloWorld class in the IDE
• This automatically compiles the HelloWorld.cs file into
into a HelloWorld.class file
• Go to the folder you created the csharp101 project on
your hard disk and open the src folder.
• What do you see?
Running Your First C# Program
• Build and Run your program in Visual Studio
by Ctrl+Shift+B / F5
Anatomy of a C# Application
Comments Class Name Arguments

Access
modifier

Function/static
method
Language Features
Introduction to C#

Built-in Data Types


Built-in Data Types
• Data type are sets of values and operations
defined on those values.
Basic Definitions
• Variable - a name that refers to a value.
• Assignment statement - associates a value
with a variable.
String Data Type
• Useful for program input and output.

Data Type Attributes


Values sequence of characters
Typical literals “Hello”, “1 “, “*”
Operation Concatenate
Operator +
String Data Type
String Data Type
• Meaning of characters depends on context.
String Data Type
Expression Value
“Hi, “ + “Bob” “Hi, Bob”
“1” + “ 2 “ + “ 1” “ 1 2 1”
“1234” + “ + “ + “99” “1234 + 99”
“1234” + “99” “123499”
Hands-on Exercise

Command Line Arguments


Exercise: Command Line Arguments
• Create the C# program below that takes a name as command-line
argument and prints “Hi <name>, How are you?”

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string x;
System.Console.WriteLine("Enter your name");
x = Console.ReadLine();
System.Console.WriteLine("Hi {0} , How are you", x);
Console.ReadKey();

}
}
}
Integer Data Type
• Useful for expressing algorithms.

Data Type Attributes


Values Integers between -2E31 to +2E31-1
Typical literals 1234, -99 , 99, 0, 1000000
Operation Add subtract multiply divide remainder
Operator + - * / %
Integer Data Type
Expression Value Comment
5+3 8
5–3 2
5*3 15
5/3 1 no fractional
part
5%3 2 remainder
1/0 run-time error
3*5-2 13 * has
precedence
3+5/2 5 / has
precedence
3–5-2 -4 left associative
(3-5) - 2 -4 better style
3 – (5-2) 0 unambiguous
Double Data Type
• Useful in scientific applications and floating-
point arithmetic
Data Type Attributes

Values Real numbers specified by the IEEE 754 standard

Typical literals 3.14159 6.022e23 -3.0 2.0 1.41421356237209

Operation Add subtract multiply divide

Operator + - * /
Double Data Type
Expression Value

3.141 + 0.03 3.171

3.141 – 0.03 3.111

6.02e23 / 2 3.01e23

5.0 / 2.0 1.6666666666667

10.0 % 3.141 0.577

1.0 / 0.0 Infinity

Math.sqrt(2.0) 1.4142135623730951
C# Math Library

Methods
Math.sin() Math.cos()
Math.log() Math.exp()
Math.sqrt() Math.pow()
Math.min() Math.max()
Math.abs() Math.PI

http://java.sun.com/javase/6/docs/api/java/lang/Math.html
Hands-on Exercise

Integer Operations
Exercise: Integer Operations
• Create a C# class named IntOps in the C101 project that performs integer
operations on a pair of integers from the command line and prints the results.
Solution: Integer Operations
int num1, num2, sum, prod, quot, rem;
num1 = int.Parse(Console.ReadLine());
num2 = int.Parse(Console.ReadLine());
sum = num1 + num2;
prod = num1 * num2;
quot = num1 / num2;
rem = num1 % num2;
System.Console.WriteLine(" {0} : {1} = {2}", num1, num2,
sum.ToString());
System.Console.WriteLine(" {0} : {1} = {2}", num1, num2,
prod.ToString());
System.Console.WriteLine(" {0} : {1} = {2}", num1, num2,
quot.ToString());
System.Console.WriteLine(" {0} : {1} = {2}", num1, num2,
rem.ToString());
Console.ReadLine();
Boolean Data Type
• Useful to control logic and flow of a program.

Data Type Attributes


Values true or false
Typical literals true false
Operation and or not
Operator && || !
Truth-table of Boolean Operations

a !a a b a && b a || b

true false false false false false

false true false true false true

true false false true

true true true true


Boolean Comparisons
• Take operands of one type and produce an
operand of type boolean.
operation meaning true false
== equals 2 == 2 2 == 3
!= Not equals 3 != 2 2 != 2
< Less than 2 < 13 2<2
<= Less than or 2 <= 2 3 <= 2
equal
> Greater than 13 > 2 2 > 13
>= Greater than 3 >= 2 2 >= 3
or equal
Type Conversion
• Convert from one type of data to another.
• Implicit
– no loss of precision
– with strings
• Explicit:
– cast
– method.
Type Conversion Examples
expression Expression type Expression value
“1234” + 99 String “123499”
Int.Parse(“123”) int 123
(int) 2.71828 int 2
Math.round(2.71828) long 3
(int) Math.round(2.71828) int 3
(int) Math.round(3.14159) int 3
11 * 0.3 double 3.3
(int) 11 * 0.3 double 3.3
11 * (int) 0.3 int 0
(int) (11 * 0.3) int 3
Hands-on Exercise

Leap Year Finder


Exercise: Leap Year Finder
• A year is a leap year if it is either divisible by 400
or divisible by 4 but not 100.
• Write a java class named LeapYear in the Java101
project that takes a numeric year as command
line argument and prints true if it’s a leap year
and false if not
Solution: Leap Year Finder

int year = int.Parse(Console.ReadLine());

Boolean isLeapYear;

isLeapYear = (year % 4 == 0) && (year % 100 != 0);


isLeapYear = isLeapYear || (year % 400 == 0);

System.Console.WriteLine("the Year {0} is {1} ",


year.ToString(), isLeapYear.ToString());

Console.ReadLine();
Data Types Summary
• A data type is a set of values and operations on
those values.
– String for text processing
– double, int for mathematical calculation
– boolean for decision making
• Why do we need types?
– Type conversion must be done at some level.
– Compiler can help do it correctly.
– Example: in 1996, Ariane 5 rocket exploded after
takeoff because of bad type conversion.
Introduction to C#

Conditionals and Loops


Conditionals and Loops
• Sequence of statements that are actually
executed in a program.
• Enable us to choreograph control flow.
Conditionals
• The if statement is a common branching structure.
– Evaluate a boolean expression.
• If true, execute some statements.
• If false, execute other statements.
If Statement Example

if (Math.Sqrt(16) < 3)
System.Console.WriteLine("the number is less than 3");
Else
System.Console.WriteLine("the number is greater than 3");
Console.ReadLine();
More If Statement Examples
While Loop
• A common repetition structure.
– Evaluate a boolean expression.
– If true, execute some statements.
– Repeat.
For Loop
• Another common repetition structure.
– Execute initialization statement.
– Evaluate a boolean expression.
• If true, execute some statements.
– And then the increment statement.
– Repeat.
Anatomy of a For Loop

for (int i = 0; i < 5; i++)


{
System.Console.WriteLine("{0}", i);
}

Console.ReadLine();
Hands-on Exercise

Powers of Two
Exercise: Powers of Two
• Create a new C# project in Visual Studio named Pow2
• Write a C# class named PowerOfTwo to print powers of 2 that are
<= 2N where N is a number passed as an argument to the program.
– Increment i from 0 to N.
– Double v each time
Solution: Power of 2
Control Flow Summary
• Sequence of statements that are actually
executed in a program.
• Conditionals and loops enable us to choreograph
the control flow.
Control flow Description Example

Straight line all statements are executed in the


programs order given

Conditionals certain statements are executed If


depending on the values of certain If-else
variables
Loops certain statements are executed while
repeatedly until certain conditions for
are met do-while
Java 101: Introduction to C#

Homework Exercises
Hands-on Exercise

Array of Days
Exercise: Array of Days
• Create a C# class named DayPrinter that prints
out names of the days in a week from an array
using a for-loop.
Solution: Arrays of Days

string[] daysOfTheWeek = { "Sunday", "Monday", "Tuesday",


"Wednesday", "Thursday", "Friday", "Saturday" };

for(int i= 0;i < daysOfTheWeek.Length ;i++)


{
System.Console.WriteLine("{0}", daysOfTheWeek[i]);
}
Hands-on Exercise

Print Personal Details


Exercise: Print Personal Details
• Write a program that will print your name and
address to the console, for example:

Alex Johnson
23 Main Street
New York, NY 10001 USA
Further Reading

You might also like