Tải bản đầy đủ (.pdf) (76 trang)

Ltudql1 hk1 1718 lt 01 csharp net (updated 26 9)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.1 MB, 76 trang )

ĐHQG HCM – TRƯỜNG ĐH KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THƠNG TIN

C# căn bản
Lập trình ứng dụng quản lý 1
Ngô Chánh Đức


Nội dung

.NET Framework
C# cơ bản
Coding convention
Hướng đối tượng
Collection
Delegate

9/26/2017

C# căn bản - LTUDQL1

2


.NET Framework

9/26/2017

C# căn bản - LTUDQL1

3




Giới thiệu
 Ra đời năm 2002 cùng với bộ công cụ lập trình Visual
Studio .NET
 Sử dụng kỹ thuật hướng đối tượng
 Hỗ trợ chuẩn Unicode
 Thi hành trên máy ảo CLR (Common Language
Runtime)
 Bao gồm hơn 5000 lớp đối tượng
 Cung cấp bộ trình điều khiển đồ sộ (giao diện đồ họa)
 Hỗ trợ dịch vụ quản lý bộ nhớ và nhiều dịch vụ khác

9/26/2017

C# căn bản - LTUDQL1

4


Kiến trúc .NET Framework

9/26/2017

C# căn bản - LTUDQL1

5


Cơ chế thực thi


9/26/2017

C# căn bản - LTUDQL1

6


Kiến trúc .NET Framework

9/26/2017

C# căn bản - LTUDQL1

7


Ứng dụng .NET Framework
 Ứng dụng dòng lệnh (Console Application)
 Ứng dụng WinForm (Windows Form Application)
 Ứng dụng WPF (WPF Application)
 Ứng dụng web (ASP.NET Web Form Application)
 Thư viện DLL (Class Library)

9/26/2017

C# căn bản - LTUDQL1

8



Đọc thêm
 Kiến trúc .NET Framework: />
9/26/2017

C# căn bản - LTUDQL1

9


C# căn bản

9/26/2017

C# căn bản - LTUDQL1

10


Giới thiệu
 Phát triển bởi Microsoft
 Xuất hiện năm 2000
 Phiên bản mới nhất là C# 7.0
 Là ngôn ngữ lập trình cấp cao, hiện đại, hướng đối
tượng và an tồn kiểu (type-safe)
 Có nguồn gốc từ C
Cú pháp có phần quen thuộc với C, C++, Java, …
 Tập tin mã nguồn có đi mở rộng là .cs
 Sử dụng Visual Studio để lập trình


9/26/2017

C# căn bản - LTUDQL1

11


Hello world
using System;
class Hello
{
static void Main()
{
Console.WriteLine("Hello, World");
}
}

9/26/2017

C# căn bản - LTUDQL1

Hello.cs

12


Bắt đầu với C#
 Biên dịch
 Chạy gỡ rối (Debug) và chạy không gỡ rối (Run without
debug)

 Chế độ Release/Debug
 Chạy gỡ rối
▪Breakpoint
▪Step In / Step out / Step over
▪Watch / Auto watch / Local watch

9/26/2017

C# căn bản - LTUDQL1

13


Cấu trúc lập trình
 Chương trình (Program)
 Tên miền (namespace)
 Kiểu dữ liệu (type)
 Thành viên (member)
 Hợp ngữ (assembly)

9/26/2017

C# căn bản - LTUDQL1

14


Kiểu dữ liệu

Kiểu

tham chiếu

9/26/2017

Kiểu
giá trị

C# căn bản - LTUDQL1

15


Các kiểu dữ liệu số
Signed Integral
▪sbyte: 8 bits, range from -128 to 127
▪short: 16 bits, range from -32,768 to 32,767
▪int : 32 bits, range from -2,147,483,648 to
2,147,483,647
▪long : 64 bits, range from –
9,223,372,036,854,775,808 to
9,223,372,036,854,775,807

9/26/2017

C# căn bản - LTUDQL1

16


Các kiểu dữ liệu số

Unsigned integral
▪byte : 8 bits, range from 0 to 255
▪ushort : 16 bits, range from 0 to 65,535
▪uint : 32 bits, range from 0 to 4,294,967,295
▪ulong : 64 bits, range from 0 to
18,446,744,073,709,551,615

9/26/2017

C# căn bản - LTUDQL1

17


Các kiểu dữ liệu số
Floating point
▪float : 32 bits, range from 1.5 × 10−45 to 3.4 ×
1038, 7-digit precision
▪double : 64 bits, range from 5.0 × 10−324 to
1.7 × 10308, 15-digit precision
Decimal
▪decimal : 128 bits, range is at least –7.9 ×
10−28 to 7.9 × 1028, with at least 28-digit
precision

9/26/2017

C# căn bản - LTUDQL1

18



Biến dữ liệu
int i; // Simple variable
// Many variables can have the same type declaration
float x, y, z;
byte x = 1, y, z = 3;
string name = "new name";
// Array: Indexed by an integer from Zero
int x[] = {1, 2, 3};
// compile error
int[] x = {1, 2, 3}; char[] y = new char[6]; // OK
int x1 = x[0];
// 1
// Multi dimension array: same size in all item
int [,] x = {{1, 2}, {3, 4}};
int [,] x = {{1, 2}, {3, 4, 5}};
// compile error
int x2 = x[1, 0];
// 3
int [,,] x = {{{1, 2}, {3, 4}}, {{5, 6}, {7, 8}}};
9/26/2017

C# căn bản - LTUDQL1

19


Ép kiểu số
// Smaller type in memory size integral

// type to wider one
byte b = 5; // implicit int to byte
int i = b; // i = 5
// Wider integral type to smaller one
int i = 500;
byte j = i; // compile error
byte j = (byte)i; // i = 244
// No explicit conversion for floating
// point number
9/26/2017

C# căn bản - LTUDQL1

20


Boxing / Unboxing
 Boxing: chuyển kiểu giá trị  object
 Unboxing: trích xuất kiểu giá trị từ object

9/26/2017

C# căn bản - LTUDQL1

21


Toán tử
 References: . () [] new ->
 Arithmetic: + ++ - -- * / % sizeof

 Logical: & | ^ !
 Conditional: && (&) || ! == != > >= < <=
 Type verification: is as typeof
 Bitwise: ~ >> <<
 Assignment: = += -= *= /= %= &= |= ^= >>=
<<=
 Selection: ?: ?? (not null)
 Lambda expression definition: =>
9/26/2017

C# căn bản - LTUDQL1

22


Toán tử
int i = 5;
// Selection ?:
string x = i == 5 ? "Yes": "No";
int? x = 5;
// nullable type
int y = x ?? 0; // Selection ?? operator
int z = x;
// Error: nullable type
// cannot assign to non-nullable type
// Lambda expression – anonymous method
(int x) => x * 2; <=>
public int Double(int x){return x * 2}
9/26/2017


C# căn bản - LTUDQL1

23


Cấu trúc điều khiển
 Branching
▪Selection: ?: ??
▪ if… else if … else
▪ switch … case … default
 Iteration
▪ for
▪ foreach
▪ do while
▪ while
 Ignore & breaking
▪ continue
▪ break
9/26/2017

C# căn bản - LTUDQL1

24


Chuỗi literal
// Declaration and initialization
// "\" start an "escape" code
string s1 = "a\n", s2 = "\"",
s3 = @"a\n", s4 = s3;


// assignment
s2 = s1;
// concatenation
s3 = s1 + s3;
9/26/2017

C# căn bản - LTUDQL1

25


×