C# Starter L01-Intro and Warm-up

Post on 14-May-2015

1.122 views 1 download

Tags:

Transcript of C# Starter L01-Intro and Warm-up

Mohammad Shakermohammadshaker.com

C# Programming Course@ZGTRShaker

2011, 2012, 2013, 2014

C# StarterL01 – Intro and Warm-up

Welcome to a new course!

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

So, what’s this course all about?

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

WPF and Silverlight

WPF and Silverlight

WPF and Silverlight

WPF and Silverlight

Windows 8

WPFAutomataProject,VB.NET

My 3rd Year Projects with.NET!

WPFRFID SystemProject,C#

C# and WCF (Windows Communication Foundation)

C# and WCF

C# and WCF

C# and ASP.NET

XNA!

XNA!

XNA!XNA

XNA!XNA

Mobile!

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

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

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

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

NEXTprocedurally generated endless puzzle game

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

Programming Languages Ranking

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

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

Programming languages

(Larry Flon)

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

Programming languages

(Edsger W. Dijkstra)

New Technique!

So, Learn C# or not?

Let’s Go C#ing!

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

Visual Studio 2008201020122013

How is a C++ ?

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

Everything is an object!

Object

Integer String … Car Meal Enemy

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 .

An Object or a Class?

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!");

}

}

}

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

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

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

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

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

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

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

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

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();

}

}

}

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.");

}

}

}

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

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

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

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

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

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

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

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

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

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

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

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!");

}

}

}

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!");

}

}

}

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!");

}

}

}

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!");

}

}

}

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!");

}

}

}

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!");

}

}

}

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!");

}

}

}

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!");

}

}

}

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!");

}

}

}

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!");

}

}

}

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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!

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);

}

}

}

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!

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());

}

}

}

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

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

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

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

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

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

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

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

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

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

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

Variables!

Variables!

Variables!

Variables!

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);

}

}

}

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);

}

}

}

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);

}

}

}

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);

}

}

}

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);

}

}

}

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);

}

}

}

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);

}

}

}

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);

}

}

}

Variables!

Variables!

Variables!

Variables!

Variables!

Variables!

Variables!

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);

}

}

}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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());

}

}

}

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

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!");

}

}

}

Variables!

Variables!

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!");

}

}

}

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!");

}

}

}

Variables!

Variables!

Variables!

Variables!

Variables!

Variables!

Variables!

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);

}

}

}

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...

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...

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...

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...

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);

}

}

}

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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]);

}

}

}

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...

Control Structure

Control Structure

• The same as c++’s!

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

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;

}

}

}

}

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;

}

}

}

}

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;

}

}

}

}

Passing Arguments ref, out

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);

}

}

}

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

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

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

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

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

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);

}

}

}

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);

}

}

}

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);

}

}

}

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);

}

}

}

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);

}

}

}

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);

}

}

}

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);

}}

}

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);

}}

}

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);

}}

}

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);

}}

}

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);

}

}

}

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);

}

}

}

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;}

}

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;}

}

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;}

}

params,value magical Keywords

params magical Keyword

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);

}

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...

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...

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...

value magical Keyword(Properties)

value magical Keyword

• Properties!

– set

– get

value magical Keywordnamespace ConsoleTestingApp{

class Car{

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

_weight = weight;}public double GetWeight(){

return _weight;}

}}

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; }

}}

}

value magical Keyword

namespace ConsoleTestingApp{

class Car{

private double weight;public double Weight{

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

}}

}

value magical Keyword

namespace ConsoleTestingApp{

class Car{

private double weight;public double Weight{

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

}}

}

value magical Keyword

namespace ConsoleTestingApp{

class Car{

private double weight;public double Weight{

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

}}

}

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;

}}

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;

}}

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;

}}

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();}

}

Code fast and don’t break things

A ?? B

means

A!= null ? A : B

Concepts You Should Know

A Look Inside the MemoryStack and Heap

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.

Boxing and Unboxinglike Java?

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

Blocks

Blocks

Blocks

References

• Wrox and Microsoft

Keep in touch and let’s connect

http://www.mohammadshaker.com

mohammadshakergtr@gmail.com

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/

Hope

you

enjoy

your

first

class (/object?)!

:D