233
Mohammad Shaker mohammadshaker.com C# Programming Course @ZGTRShaker 2011, 2012, 2013, 2014 C# Starter L01 – Intro and Warm-up

C# Starter L01-Intro and Warm-up

Embed Size (px)

Citation preview

Page 1: C# Starter L01-Intro and Warm-up

Mohammad Shakermohammadshaker.com

C# Programming Course@ZGTRShaker

2011, 2012, 2013, 2014

C# StarterL01 – Intro and Warm-up

Page 2: C# Starter L01-Intro and Warm-up

Welcome to a new course!

Page 3: C# Starter L01-Intro and Warm-up

Take a Look on XNA and my other courses

@ http://www.slideshare.net/ZGTRZGTR

Available courses to the date of this slide:

C# Starter, C# Advanced, WPF, C++, C++.NET, XNA, OpenGL

Page 4: C# Starter L01-Intro and Warm-up

So, what’s this course all about?

Page 5: C# Starter L01-Intro and Warm-up

What’s this course all about?C# and WPF

Page 6: C# Starter L01-Intro and Warm-up

WPF and Silverlight

Page 7: C# Starter L01-Intro and Warm-up

WPF and Silverlight

Page 8: C# Starter L01-Intro and Warm-up

WPF and Silverlight

Page 9: C# Starter L01-Intro and Warm-up

WPF and Silverlight

Page 10: C# Starter L01-Intro and Warm-up

Windows 8

Page 11: C# Starter L01-Intro and Warm-up

WPFAutomataProject,VB.NET

Page 12: C# Starter L01-Intro and Warm-up

My 3rd Year Projects with.NET!

WPFRFID SystemProject,C#

Page 13: C# Starter L01-Intro and Warm-up

C# and WCF (Windows Communication Foundation)

Page 14: C# Starter L01-Intro and Warm-up

C# and WCF

Page 15: C# Starter L01-Intro and Warm-up

C# and WCF

Page 16: C# Starter L01-Intro and Warm-up

C# and ASP.NET

Page 17: C# Starter L01-Intro and Warm-up

XNA!

Page 18: C# Starter L01-Intro and Warm-up

XNA!

Page 19: C# Starter L01-Intro and Warm-up

XNA!XNA

Page 20: C# Starter L01-Intro and Warm-up

XNA!XNA

Mobile!

Page 21: C# Starter L01-Intro and Warm-up

This course will enable you to make something as awesome as Ropossum, NEXT, iNversion, etc.

Page 22: C# Starter L01-Intro and Warm-up

Games I Made with C#:Ropossum, Next, iNversion

Page 23: C# Starter L01-Intro and Warm-up

Ropossumhttp://www.mohammadshaker.com/ropossum.html

Page 24: C# Starter L01-Intro and Warm-up

Ropossumis an authoring tool for procedurally generating playable levels for physics-based

games (Cut the Rope as a test case.) It allows the creation of content, editing, and realtime interaction with the system to provide immediate feedback on the level

design. It’s both for players and designers.

Read more at: http://www.mohammadshaker.com/ropossum.html

Watch the trailer: https://www.youtube.com/watch?v=0SJykSZ5cm4

Page 25: C# Starter L01-Intro and Warm-up

NEXTprocedurally generated endless puzzle game

http://www.mohammadshaker.com/next.html

Page 26: C# Starter L01-Intro and Warm-up

Programming Languages Ranking

Source: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html - July 2014

Page 27: C# Starter L01-Intro and Warm-up

“There is no programming language-no matter how structured–that will prevent programmers from making bad programs.”

Programming languages

(Larry Flon)

Page 28: C# Starter L01-Intro and Warm-up

“If debugging is the process of removing bugs, then programming must be the process of putting them in.”

Programming languages

(Edsger W. Dijkstra)

Page 29: C# Starter L01-Intro and Warm-up

New Technique!

Page 30: C# Starter L01-Intro and Warm-up

So, Learn C# or not?

Page 31: C# Starter L01-Intro and Warm-up

Let’s Go C#ing!

Page 32: C# Starter L01-Intro and Warm-up

.NET 3.0.NET 3.5.NET 4.0.NET 4.5

Page 33: C# Starter L01-Intro and Warm-up

Visual Studio 2008201020122013

Page 34: C# Starter L01-Intro and Warm-up

How is a C++ ?

Page 35: C# Starter L01-Intro and Warm-up

C# introIt’s a fully OOP language!Everything is an object!

Page 36: C# Starter L01-Intro and Warm-up

Everything is an object!

Object

Integer String … Car Meal Enemy

Page 37: C# Starter L01-Intro and Warm-up

Object

Integer String … Car Meal Enemy

Everything is an object!

In C#.NET everything (even your classes) will directly inherit fromclass object. This is essential for Memory Management andGarbage Collection .

Page 38: C# Starter L01-Intro and Warm-up

An Object or a Class?

Page 39: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

Page 40: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

Page 41: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

Page 42: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

Page 43: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

Page 44: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

Page 45: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

Page 46: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

Page 47: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

Page 48: C# Starter L01-Intro and Warm-up

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

namespace MyNameSpace

{

// nested namespace

namespace tutorial

{

class myExample1

{

public static void myPrint1()

{

Console.WriteLine("First Example of calling another namespace member.");

}

}

}

// Program start class

class NamespaceCalling

{

// Main begins program execution.

public static void Main()

{

// Write to console

tutorial.myExample1.myPrint1();

tutorial.myExample2.myPrint2();

}

}

}

Page 49: C# Starter L01-Intro and Warm-up

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

namespace MyNameSpace

{

// nested namespace

namespace tutorial

{

class myExample1

{

public static void myPrint1()

{

Console.WriteLine("First Example of calling another namespace member.");

}

}

}

// Program start class

class NamespaceCalling

{

// Main begins program execution.

public static void Main()

{

// Write to console

tutorial.myExample1.myPrint1();

tutorial.myExample2.myPrint2();

}

}

}

namespace csharp_station.tutorial

{

class myExample2

{

public static void myPrint2()

{

Console.WriteLine("Second Example of calling another

namespace member.");

}

}

}

Page 50: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

Page 51: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

Page 52: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

Page 53: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

Page 54: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

Page 55: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

Page 56: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

Page 57: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

Page 58: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

Page 59: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

Page 60: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz

Page 61: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

Page 62: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

Page 63: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

Page 64: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

Page 65: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

Page 66: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

Page 67: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

Page 68: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

Page 69: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

Page 70: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

Page 71: C# Starter L01-Intro and Warm-up

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

Variables!

• Let’s see what you got!

Page 72: C# Starter L01-Intro and Warm-up

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

Variables!

• Let’s see what you got!

Page 73: C# Starter L01-Intro and Warm-up

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

Variables!

• Let’s see what you got!

Page 74: C# Starter L01-Intro and Warm-up

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

Variables!

• Let’s see what you got!

Page 75: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz!

Page 76: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz!

Page 77: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz!

Page 78: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz!

Page 79: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz!

Page 80: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz!

Page 81: C# Starter L01-Intro and Warm-up

Variables!

• Let’s see what you got!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz!

Page 82: C# Starter L01-Intro and Warm-up

Variables!

• 2 Mains!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz!

Page 83: C# Starter L01-Intro and Warm-up

Variables!

• 2 Mains!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("HiIzZz!");

}

}

}

HiIzZz!

Page 84: C# Starter L01-Intro and Warm-up
Page 85: C# Starter L01-Intro and Warm-up
Page 86: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

string s = Console.ReadLine();

Console.WriteLine(s);

}

}

}

Page 87: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

string s = Console.ReadLine();

Console.WriteLine(s);

}

}

}

Hello out there!

Hello out there!

Page 88: C# Starter L01-Intro and Warm-up
Page 89: C# Starter L01-Intro and Warm-up
Page 90: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine(Console.ReadLine());

}

}

}

Page 91: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine(Console.ReadLine());

}

}

}

Hi

Hi

Page 92: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine(Console.ReadLine());

}

}

}

Hi

Hi

Page 93: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine(Console.ReadLine());

}

}

}

Hi

Hi

Page 94: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine(Console.ReadLine());

}

}

}

Hi

Hi

Page 95: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine(Console.ReadLine());

}

}

}

Hi

Hi

Page 96: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine(Console.ReadLine());

}

}

}

Hi

Hi

Page 97: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine(Console.ReadLine());

}

}

}

Hi

Hi

Page 98: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine(Console.ReadLine());

}

}

}

Hi

Hi

Page 99: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine(Console.ReadLine());

}

}

}

Hi

Hi

Page 100: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine(Console.ReadLine());

}

}

}

Hi

Hi

Page 101: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine(Console.ReadLine());

}

}

}

Hi

Hi

Page 102: C# Starter L01-Intro and Warm-up

Variables!

Page 103: C# Starter L01-Intro and Warm-up

Variables!

Page 104: C# Starter L01-Intro and Warm-up

Variables!

Page 105: C# Starter L01-Intro and Warm-up

Variables!

Page 106: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Double d1 = 10;

double d2 = 10;

Console.WriteLine(d1 + d2);

}

}

}

Page 107: C# Starter L01-Intro and Warm-up

Variables!

20

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Double d1 = 10;

double d2 = 10;

Console.WriteLine(d1 + d2);

}

}

}

Page 108: C# Starter L01-Intro and Warm-up

20

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Double d1 = 10;

double d2 = 10;

Console.WriteLine(d1 + d2);

}

}

}

Page 109: C# Starter L01-Intro and Warm-up

20

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Double d1 = 10;

double d2 = 10;

Console.WriteLine(d1 + d2);

}

}

}

Page 110: C# Starter L01-Intro and Warm-up

20

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Double d1 = 10;

double d2 = 10;

Console.WriteLine(d1 + d2);

}

}

}

Page 111: C# Starter L01-Intro and Warm-up

20

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Double d1 = 10;

double d2 = 10;

Console.WriteLine(d1 + d2);

}

}

}

Page 112: C# Starter L01-Intro and Warm-up

20

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Double d1 = 10;

double d2 = 10;

Console.WriteLine(d1 + d2);

}

}

}

Page 113: C# Starter L01-Intro and Warm-up

20

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

Double d1 = 10;

double d2 = 10;

Console.WriteLine(d1 + d2);

}

}

}

Page 114: C# Starter L01-Intro and Warm-up

Variables!

Page 115: C# Starter L01-Intro and Warm-up

Variables!

Page 116: C# Starter L01-Intro and Warm-up

Variables!

Page 117: C# Starter L01-Intro and Warm-up

Variables!

Page 118: C# Starter L01-Intro and Warm-up

Variables!

Page 119: C# Starter L01-Intro and Warm-up

Variables!

Page 120: C# Starter L01-Intro and Warm-up

Variables!

Page 121: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Page 122: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 123: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 124: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 125: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 126: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 127: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 128: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 129: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 130: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 131: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 132: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 133: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 134: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 135: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 136: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 137: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 138: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 139: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 140: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 141: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 142: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 143: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1);

}

}

}

Am number 4! Not 10

Page 144: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1.ToString());

}

}

}

Page 145: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

double d1 = 10;

Console.WriteLine("Am number 4! not " + d1.ToString());

}

}

}

Am number 4! Not 10

Page 146: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

// Write to console/get input

Console.Write("What is your name? ");

Console.Write("Hello, {0}! ", Console.ReadLine());

Console.WriteLine("Welcome!");

}

}

}

Page 147: C# Starter L01-Intro and Warm-up

Variables!

Page 148: C# Starter L01-Intro and Warm-up

Variables!

Page 149: C# Starter L01-Intro and Warm-up

Variables!

>What is your name? <type a string here> [Enter Key]

>Hello, <your string here>! Welcome!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

// Write to console/get input

Console.Write("What is your name? ");

Console.Write("Hello, {0}! ", Console.ReadLine());

Console.WriteLine("Welcome!");

}

}

}

Page 150: C# Starter L01-Intro and Warm-up

Variables!using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

// Write to console/get input

Console.Write("What is your name? ");

Console.Write("Hello, {0}, {1}, {0}! ", Console.ReadLine(), "Hi!");

Console.WriteLine("Welcome!");

}

}

}

Page 151: C# Starter L01-Intro and Warm-up

Variables!

Page 152: C# Starter L01-Intro and Warm-up

Variables!

Page 153: C# Starter L01-Intro and Warm-up

Variables!

Page 154: C# Starter L01-Intro and Warm-up

Variables!

Page 155: C# Starter L01-Intro and Warm-up

Variables!

Page 156: C# Starter L01-Intro and Warm-up

Variables!

Page 157: C# Starter L01-Intro and Warm-up

Variables!

Page 158: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int[] intArr = new int[5];

Console.WriteLine(intArr);

}

}

}

Page 159: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int[] intArr = new int[5];

Console.WriteLine(intArr);

}

}

}

System.Int32[]

Press any key to continue...

Page 160: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int[] intArr = new int[5];

Console.WriteLine(intArr);

}

}

}

System.Int32[]

Press any key to continue...

Page 161: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int[] intArr = new int[5];

Console.WriteLine(intArr);

}

}

}

System.Int32[]

Press any key to continue...

Page 162: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int[] intArr = new int[5];

Console.WriteLine(intArr);

}

}

}

System.Int32[]

Press any key to continue...

Page 163: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int[] intArr = new int[5];

Console.WriteLine(intArr);

}

}

}

Page 164: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int[] intArr = new int[5];

Console.WriteLine(intArr);

}

}

}

System.Int32[]

Press any key to continue...

Page 165: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int[] intArr = new int[5];

Console.WriteLine(intArr);

}

}

}

System.Int32[]

Press any key to continue...

Page 166: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int[] intArr = new int[5];

Console.WriteLine(intArr);

}

}

}

System.Int32[]

Press any key to continue...

Page 167: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int[] intArr = new int[5];

Console.WriteLine(intArr);

}

}

}

System.Int32[]

Press any key to continue...

Page 168: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int[] intArr = new int[5];

Console.WriteLine(intArr);

}

}

}

System.Int32[]

Press any key to continue...

Page 169: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int[] intArr = new int[5];

Console.WriteLine(intArr);

}

}

}

System.Int32[]

Press any key to continue...

Page 170: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int[] intArr = new int[5];

Console.WriteLine(intArr);

}

}

}

System.Int32[]

Press any key to continue...

Page 171: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int[] intArr = new int[5];

Console.WriteLine(intArr);

}

}

}

System.Int32[]

Press any key to continue...

Page 172: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int[] intArr = new int[5];

Console.WriteLine(intArr);

}

}

}

System.Int32[]

Press any key to continue...

Page 173: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int[] intArr = new int[5];

Console.WriteLine(intArr);

}

}

}

System.Int32[]

Press any key to continue...

Page 174: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int[] intArr = new int[5];

Console.WriteLine(intArr);

}

}

}

System.Int32[]

Press any key to continue...

Page 175: C# Starter L01-Intro and Warm-up

Variables!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int[] intArr = new int[5];

Console.WriteLine(intArr);

}

}

}

System.Int32[]

Press any key to continue...

Page 176: C# Starter L01-Intro and Warm-up

Variables!

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int[] intArrAllocator = new int[2] {0,1};

int[] intArrTracker;

Console.WriteLine("Array");

intArrTracker = intArrAllocator;

intArrTracker[0] = 1;

Console.WriteLine("A[0]= {0}" + Environment.NewLine + "A[1]= {1}", intArrTracker[0],

intArrTracker[1]);

}

}

}

Page 177: C# Starter L01-Intro and Warm-up

Variables!

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int[] intArrAllocator = new int[2] {0,1};

int[] intArrTracker;

Console.WriteLine("Array");

intArrTracker = intArrAllocator;

intArrTracker[0] = 1;

Console.WriteLine("A[0]= {0}" + Environment.NewLine + "A[1]= {1}", intArrTracker[0],

intArrTracker[1]);

}

}

}

Array

A[0]= 1

A[1]= 1

Press any key to continue...

Page 178: C# Starter L01-Intro and Warm-up

Control Structure

Page 179: C# Starter L01-Intro and Warm-up

Control Structure

• The same as c++’s!

• “switch” now must be followed with “break;” with every bodied “case”

Page 180: C# Starter L01-Intro and Warm-up

Control Structurenamespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int myInt = 0;

switch (myInt)

{

case 1:

case 2:

case 3:

Console.WriteLine("Your number is {0}.", myInt);

break;

default:

Console.WriteLine("Your number {0} is not between 1 and 3.", myInt);

break;

}

}

}

}

Page 181: C# Starter L01-Intro and Warm-up

Control Structure

Your number 0 is not between 1 and 3.

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int myInt = 0;

switch (myInt)

{

case 1:

case 2:

case 3:

Console.WriteLine("Your number is {0}.", myInt);

break;

default:

Console.WriteLine("Your number {0} is not between 1 and 3.", myInt);

break;

}

}

}

}

Page 182: C# Starter L01-Intro and Warm-up

Control Structure

Your number 0 is not between 1 and 3.

namespace ConsoleAppTest

{

class Program

{

static void Main(string[] args)

{

int myInt = 0;

switch (myInt)

{

case 1:

case 2:

case 3:

Console.WriteLine("Your number is {0}.", myInt);

break;

default:

Console.WriteLine("Your number {0} is not between 1 and 3.", myInt);

break;

}

}

}

}

Page 183: C# Starter L01-Intro and Warm-up

Passing Arguments ref, out

Page 184: C# Starter L01-Intro and Warm-up

Passing Args

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleTestingApp

{

class Program

{

public static void Increment(ref int i)

{

i += 1;

}

static void Main(string[] args)

{

int i = 0;

Increment(ref i);

Console.WriteLine(i);

}

}

}

Page 185: C# Starter L01-Intro and Warm-up

Passing Args

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleTestingApp

{

class Program

{

public static void Increment(ref int i)

{

i += 1;

}

static void Main(string[] args)

{

int i = 0;

Increment(ref i);

Console.WriteLine(i);

}

}

}

1

Page 186: C# Starter L01-Intro and Warm-up

Passing Args

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleTestingApp

{

class Program

{

public static void Increment(ref int i)

{

i += 1;

}

static void Main(string[] args)

{

int i;

Increment(ref i);

Console.WriteLine(i);

}

}

}

Compiler error

Page 187: C# Starter L01-Intro and Warm-up

Passing Args

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleTestingApp

{

class Program

{

public static void Increment(ref int i)

{

i += 1;

}

static void Main(string[] args)

{

int i;

Increment(ref i);

Console.WriteLine(i);

}

}

}

Compiler error

Page 188: C# Starter L01-Intro and Warm-up

Passing Args

using System;using System.Collections.Generic;using System.Linq;using System.Text;

namespace ConsoleTestingApp{

class Program{

public static void Increment(out int i){

i = 1;}

static void Main(string[] args){

int i = 0;Increment(out i);Console.WriteLine(i);

}}

}

1

Page 189: C# Starter L01-Intro and Warm-up

Passing Args

using System;using System.Collections.Generic;using System.Linq;using System.Text;

namespace ConsoleTestingApp{

class Program{

public static void Increment(out int i){

i = 1;}

static void Main(string[] args){

int i;Increment(out i);Console.WriteLine(i);

}}

}

1

Page 190: C# Starter L01-Intro and Warm-up

Passing Args

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleTestingApp

{

class Program

{

public static void Increment(out int i)

{

i += 1;

}

static void Main(string[] args)

{

int i;

Increment(out i);

Console.WriteLine(i);

}

}

}

Page 191: C# Starter L01-Intro and Warm-up

Passing Args

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleTestingApp

{

class Program

{

public static void Increment(out int i)

{

i += 1;

}

static void Main(string[] args)

{

int i;

Increment(out i);

Console.WriteLine(i);

}

}

}

Page 192: C# Starter L01-Intro and Warm-up

Passing Args

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleTestingApp

{

class Program

{

public static void Increment(out int i)

{

i += 1;

}

static void Main(string[] args)

{

int i;

Increment(out i);

Console.WriteLine(i);

}

}

}

Page 193: C# Starter L01-Intro and Warm-up

Passing Args

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleTestingApp

{

class Program

{

public static void Increment(out int i)

{

i += 1;

}

static void Main(string[] args)

{

int i;

Increment(out i);

Console.WriteLine(i);

}

}

}

Page 194: C# Starter L01-Intro and Warm-up

Passing Args

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleTestingApp

{

class Program

{

public static void Increment(out int i)

{

i += 1;

}

static void Main(string[] args)

{

int i;

Increment(out i);

Console.WriteLine(i);

}

}

}

Page 195: C# Starter L01-Intro and Warm-up

Passing Args

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleTestingApp

{

class Program

{

public static void Increment(out int i)

{

i += 1;

}

static void Main(string[] args)

{

int i;

Increment(out i);

Console.WriteLine(i);

}

}

}

Page 196: C# Starter L01-Intro and Warm-up

Passing Args

using System;using System.Collections.Generic;using System.Linq;using System.Text;

namespace ConsoleTestingApp{

class Program{

public static void Increment(out int i){

i += 1;}

static void Main(string[] args){

int i = 0;Increment(out i);Console.WriteLine(i);

}}

}

Page 197: C# Starter L01-Intro and Warm-up

Passing Args

using System;using System.Collections.Generic;using System.Linq;using System.Text;

namespace ConsoleTestingApp{

class Program{

public static void Increment(out int i){

i += 1;}

static void Main(string[] args){

int i = 0;Increment(out i);Console.WriteLine(i);

}}

}

Page 198: C# Starter L01-Intro and Warm-up

Passing Args

using System;using System.Collections.Generic;using System.Linq;using System.Text;

namespace ConsoleTestingApp{

class Program{

public static void Increment(out int i){

i += 1;}

static void Main(string[] args){

int i = 0;Increment(out i);Console.WriteLine(i);

}}

}

Page 199: C# Starter L01-Intro and Warm-up

Passing Args

using System;using System.Collections.Generic;using System.Linq;using System.Text;

namespace ConsoleTestingApp{

class Program{

public static void Increment(out int i){

i += 1;}

static void Main(string[] args){

int i = 0;Increment(out i);Console.WriteLine(i);

}}

}

Page 200: C# Starter L01-Intro and Warm-up

Passing Args

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleTestingApp

{

class Program

{

public static void Increment(ref int i)

{

i += 1;

}

static void Main(string[] args)

{

int i = 0;

Increment(ref i);

Console.WriteLine(i);

}

}

}

Page 201: C# Starter L01-Intro and Warm-up

Passing Args

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleTestingApp

{

class Program

{

public static void Increment(ref int i)

{

i += 1;

}

static void Main(string[] args)

{

int i = 0;

Increment(ref i);

Console.WriteLine(i);

}

}

}

Page 202: C# Starter L01-Intro and Warm-up

Overloading with ref, out

class MyClass{

public void MyMethod(int i) {i = 10;} public void MyMethod(ref int i) {i = 10;}

}

class MyClass{

public void MyMethod(out int i) {i = 10;} public void MyMethod(ref int i) {i = 10;}

}

Page 203: C# Starter L01-Intro and Warm-up

Overloading with ref, out

class MyClass{

public void MyMethod(int i) {i = 10;} public void MyMethod(ref int i) {i = 10;}

}

class MyClass{

public void MyMethod(out int i) {i = 10;} public void MyMethod(ref int i) {i = 10;}

}

Page 204: C# Starter L01-Intro and Warm-up

Overloading with ref, out

class MyClass{

public void MyMethod(int i) {i = 10;} public void MyMethod(ref int i) {i = 10;}

}

class MyClass{

public void MyMethod(out int i) {i = 10;} public void MyMethod(ref int i) {i = 10;}

}

Page 205: C# Starter L01-Intro and Warm-up

params,value magical Keywords

Page 206: C# Starter L01-Intro and Warm-up

params magical Keyword

Page 207: C# Starter L01-Intro and Warm-up

params magical Keyword

public static void UseIntParams(params int[] list){

for (int i = 0; i < list.Length; i++)Console.WriteLine(list[i]);

Console.WriteLine();}

public static void UseObjParams(params object[] list){

for (int i = 0; i < list.Length; i++)Console.WriteLine(list[i]);

Console.WriteLine();}

public static void Main(){

UseIntParams(1, 2, 3);UseObjParams(1, 'a', "test");

int[] myarray = new int[3] { 10, 11, 12 };UseIntParams(myarray);

}

Page 208: C# Starter L01-Intro and Warm-up

params magical Keyword

public static void UseIntParams(params int[] list){

for (int i = 0; i < list.Length; i++)Console.WriteLine(list[i]);

Console.WriteLine();}

public static void UseObjParams(params object[] list){

for (int i = 0; i < list.Length; i++)Console.WriteLine(list[i]);

Console.WriteLine();}

public static void Main(){

UseIntParams(1, 2, 3);UseObjParams(1, 'a', "test");

int[] myarray = new int[3] { 10, 11, 12 };UseIntParams(myarray);

}

123

1atest

101112

Press any key to continue...

Page 209: C# Starter L01-Intro and Warm-up

params magical Keyword

public static void UseIntParams(params int[] list){

for (int i = 0; i < list.Length; i++)Console.WriteLine(list[i]);

Console.WriteLine();}

public static void UseObjParams(params object[] list){

for (int i = 0; i < list.Length; i++)Console.WriteLine(list[i]);

Console.WriteLine();}

public static void Main(){

UseIntParams(1, 2, 3);UseObjParams(1, 'a', "test");

int[] myarray = new int[3] { 10, 11, 12 };UseIntParams(myarray);

}

123

1atest

101112

Press any key to continue...

Page 210: C# Starter L01-Intro and Warm-up

params magical Keyword

public static void UseIntParams(params int[] list){

for (int i = 0; i < list.Length; i++)Console.WriteLine(list[i]);

Console.WriteLine();}

public static void UseObjParams(params object[] list){

for (int i = 0; i < list.Length; i++)Console.WriteLine(list[i]);

Console.WriteLine();}

public static void Main(){

UseIntParams(1, 2, 3);UseObjParams(1, 'a', "test");

int[] myarray = new int[3] { 10, 11, 12 };UseIntParams(myarray);

}

123

1atest

101112

Press any key to continue...

Page 211: C# Starter L01-Intro and Warm-up

value magical Keyword(Properties)

Page 212: C# Starter L01-Intro and Warm-up

value magical Keyword

• Properties!

– set

– get

Page 213: C# Starter L01-Intro and Warm-up

value magical Keywordnamespace ConsoleTestingApp{

class Car{

private double _weight;public void SetWeight(double weight){

_weight = weight;}public double GetWeight(){

return _weight;}

}}

Page 214: C# Starter L01-Intro and Warm-up

value magical Keywordnamespace ConsoleTestingApp{

class Car{

private double _weight;public void SetWeight(double weight){

_weight = weight;}public double GetWeight(){

return _weight;}

}}

namespace ConsoleTestingApp{

class Car{

private double _weight;public double Weight{

set {_weight = value; }get { return _weight; }

}}

}

Page 215: C# Starter L01-Intro and Warm-up

value magical Keyword

namespace ConsoleTestingApp{

class Car{

private double weight;public double Weight{

set { weight = value; }get { return weight; }

}}

}

Page 216: C# Starter L01-Intro and Warm-up

value magical Keyword

namespace ConsoleTestingApp{

class Car{

private double weight;public double Weight{

set { weight = value; }get { return weight; }

}}

}

Page 217: C# Starter L01-Intro and Warm-up

value magical Keyword

namespace ConsoleTestingApp{

class Car{

private double weight;public double Weight{

set { weight = value; }get { return weight; }

}}

}

Page 218: C# Starter L01-Intro and Warm-up

value magical Keyword

namespace ConsoleTestingApp{

class Car{

private double _weight;public double Weight{get { return _weight; }

}}

}

class Program{

public static void Main(){

Car myCar = new Car();myCar.Weight = 10;

}}

Page 219: C# Starter L01-Intro and Warm-up

value magical Keyword

namespace ConsoleTestingApp{

class Car{

private double _weight;public double Weight{get { return _weight; }

}}

}

class Program{

public static void Main(){

Car myCar = new Car();myCar.Weight = 10;

}}

Page 220: C# Starter L01-Intro and Warm-up

value magical Keyword

namespace ConsoleTestingApp{

class Car{

private double _weight;public double Weight{get { return _weight; }

}}

}

class Program{

public static void Main(){

Car myCar = new Car();myCar.Weight = 10;

}}

Page 221: C# Starter L01-Intro and Warm-up

Auto implemented propertyusing System;

public class Customer{

public int ID { get; set; }public string Name { get; set; }

}

public class AutoImplementedCustomerManager{

static void Main(){

Customer cust = new Customer();

cust.ID = 1;cust.Name = "Amelio Rosales";

Console.WriteLine("ID: {0}, Name: {1}",cust.ID,cust.Name);

Console.ReadKey();}

}

Page 222: C# Starter L01-Intro and Warm-up

Code fast and don’t break things

A ?? B

means

A!= null ? A : B

Page 223: C# Starter L01-Intro and Warm-up

Concepts You Should Know

Page 224: C# Starter L01-Intro and Warm-up

A Look Inside the MemoryStack and Heap

Page 225: C# Starter L01-Intro and Warm-up

Stack and Heap

• The Stack

– is where normal variables are stored (like ints, and doubles)

– All of the variables inside of a method are placed on the stack as well.

• The Heap

– It is just put in a big pile, hence the "heap" name!

– Objects (classes instances) are stored in the heap.

• In order to keep track of your object, a "reference" is used and placed on the

stack. So the bulk of the object's information lives in the heap, while you get to

keep track of a reference to it on the stack.

Page 226: C# Starter L01-Intro and Warm-up

Boxing and Unboxinglike Java?

Page 227: C# Starter L01-Intro and Warm-up

Boxing and Unboxing

• Boxing: the following assignment wraps up the value 3 into a heap object

object obj = 3;

• Unboxing: the following assignment unwraps the value again

int x = (int) obj;

3

obj

Page 228: C# Starter L01-Intro and Warm-up

Blocks

Page 229: C# Starter L01-Intro and Warm-up

Blocks

Page 230: C# Starter L01-Intro and Warm-up

Blocks

Page 231: C# Starter L01-Intro and Warm-up

References

• Wrox and Microsoft

Page 232: C# Starter L01-Intro and Warm-up

Keep in touch and let’s connect

http://www.mohammadshaker.com

[email protected]

https://twitter.com/ZGTRShaker @ZGTRShaker

https://de.linkedin.com/pub/mohammad-shaker/30/122/128/

http://www.slideshare.net/ZGTRZGTR

https://www.goodreads.com/user/show/11193121-mohammad-shaker

https://plus.google.com/u/0/+MohammadShaker/

https://www.youtube.com/channel/UCvJUfadMoEaZNWdagdMyCRA

http://mohammadshakergtr.wordpress.com/

Page 233: C# Starter L01-Intro and Warm-up

Hope

you

enjoy

your

first

class (/object?)!

:D