Upload
mohammad-shaker
View
1.121
Download
1
Tags:
Embed Size (px)
Citation preview
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
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