Programmation Csharp2
Programmation Csharp2
Willy-joël TCHANA
Software engineer : Software Architect
CEO of Over Soft Solution
Prerequisites
Basics of Csharp language
3 Prerequisites
https://go.microsoft.com/fwlink/?LinkID=799445
Prerequisites
7 The dotnet Framework 4.8
A Framework
.Net Framework 4x
.Net Core 3x
.Net 5
A runtime
8
Prerequisites
IDE Visual Studio latest
VS Installer
h
tps://visualstudio.microsoft.com/fr/thank-you-downloading-visual-studio/?sku
=Community&rel=16
VS 2019 Community
Outlook account
Prerequisites
9
IDE Visual Studio latest: Visual studio installer
Prerequisites
10
IDE Visual Studio latest: VS installer
Prerequisites
11
IDE Visual Studio latest: VS 2019 community
Prerequisites
12
IDE Visual Studio latest: VS 2019 with account
Prerequisites
13 Platform programming language
VB.NET
C++
F#
C#
All this language are oriented programming language
Prerequisites
14 Platform programming language
Basics of Csharp language
15
Syntax
Base data types
Variable declaration
Assignment
Cast
Input / Output (I/O)*
Operators
Conditional instructions
Iterative instructions
Arrays
Functions
Nullable types*
Data structures
Tuple & ValueTuple*
Conventions
Basics of Csharp language
16 Syntax
using System;
namespace MyCSharpProject
{
class Program
{
/*Like C program,
C# start with execution with main function
*/
static void Main(string[] args)
{
string message = "Hello World!!";
//Print to screen
Console.WriteLine(message);
}
}
}
Basics of Csharp language
17 Base data types: Numbers
Basics of Csharp language
18 Base data types: Strings
An enum (or enumeration type) is used to assign constant names to a group of numeric integer values.
An enum is defined using the enum keyword, directly inside a namespace, class, or structure
enum WeekDays
{
Monday, // 0
Tuesday, // 1
Wednesday, // 2
Thursday, // 3
Friday, // 4
Saturday, // 5
Sunday // 6
}
Basics of Csharp language
22 Base data types: Assign values to enum members
enum Categories
{
Electronics, // 0
Food, // 1
Automotive = 6, // 6
Arts, // 7
BeautyCare, // 8
Fashion // 9
}
Basics of Csharp language
23 Base data types: Access enum
Console.WriteLine(WeekDays.Monday); // Monday
Console.WriteLine(WeekDays.Tuesday); // Tuesday
Console.WriteLine(WeekDays.Wednesday); // Wednesday
Console.WriteLine(WeekDays.Thursday); // Thursday
Console.WriteLine(WeekDays.Friday); // Friday
Console.WriteLine(WeekDays.Saturday); // Saturday
Console.WriteLine(WeekDays.Sunday); // Sunday
Basics of Csharp language
24 Variable declaration
int num;
float rate;
decimal amount;
char code;
bool isValid;
string name;
DateTime date;
Basics of Csharp language
25 Assignment
num = 100;
rate = 10.2f;
amount = 100.50M;
char code = 'C';
bool isValid = true;
string name = "Steve";
DateTime date = new DateTime(2020, 12, 31);
Basics of Csharp language
26 Assignment: var keyword
int Console.Read();
string Console.ReadLine();
ConsoleKeyInfo Console.ReadKey();
void Console.Write(string);
void Console.Write(string, object[]);
void Console.WriteLine(string);
void Console.WriteLine(string, object[]);
Basics of Csharp language
32
Input / Output: Read example
static void Main(string[] args)
{
char ch;
do
{
int x = Console.Read();
ch = (char)x;
Console.WriteLine($"{ch} ASCII is {x}");
}
while (!char.IsWhiteSpace(ch));
}
Basics of Csharp language
33
Input / Output: ReadLine example
Console.Write("*");
code += key.KeyChar;
}
while (key.Key != ConsoleKey.Enter);
Console.WriteLine(code);
}
Basics of Csharp language
35 operators
Same to C language
Basics of Csharp language
Conditional instructions
36
Same to C language
Basics of Csharp language
Iterative instructions
37
Same to C language
foreach(int a in myArray)
{
Console.WriteLine(a.ToString());
}
Basics of Csharp language
Arrays: one dimension
38
int[] evenNums;
string[] cities;
int[] evenNums = new int[5] { 2, 4, 6, 8, 10 };
string[] cities = new string[3] { "Mumbai", "London", "New York" };
var evenNums = new int[] { 2, 4, 6, 8, 10 };
var cities = new string[] { "Mumbai", "London", "New York" };
int[] evenNums = { 2, 4, 6, 8, 10 };
string[] cities = { "Mumbai", "London", "New York" };
Basics of Csharp language
Arrays: invalid arrays
39
int[] evenNums;
evenNums = new int[5];
evenNums = new int[] { 2, 4, 6, 8, 10 };
Basics of Csharp language
Arrays: Access array elements
41
int[] evenNums = { 2, 4, 6, 8, 10 };
int[] evenNums = { 2, 4, 6, 8, 10 };
string[] cities = { "Mumbai", "London", "New York" };
int[,,,] arr4d2 = new int[1, 2, 2, 2]{ { { {1, 2}, {3, 4} }, { {5, 6}, {7, 8} } } };
Basics of Csharp language
46
Arrays: access multidimensional arrays
arr2d[1, 0];
//return 3
arr3d2[1, 0, 1];
// returns 6
arr4d2[0, 1, 1, 0];
// returns 7
Basics of Csharp language
47
Arrays: Jagged Arrays or Array of Array
int[][] jArray1 = new int[2][];
int[][,] jArray2 = new int[3][,];
Same to C language
Basics of Csharp language
Functions: Optional parameters
50
Total(100);
Total(100, 2);
Total(100, 2, 0.1925);
Basics of Csharp language
Functions: Delegate
56
Symbol: =>
syntax: (parameters) => expression; (parameters) => { //code }
Use to write function with just one line
Ex: int Increment(int a) => ++a;
Ex: void Print(double price) => Console.WriteLine(price.ToString("C0"));
Use to simplify anonymous functions
Print
(
(marks) =>
{
foreach (var mark in marks)
Console.Write(mark + "\t");
}
);
Basics of Csharp language
Functions: Predicate delegate
63
Questions