Bao gồm các ký tự đơn giản, ký tự theo mã Unicode và các ký tự thoát khác được bao trong những dấu nháy đơn. Ký tự thoát là những ký tự đặc biệt bao gồm hai ký tự liên tiếp trong đó [r]
(1)4/10/2012
Chương 2
Nền tảng ngôn ngữ C#
Giảng viên: ThS Phạm Thanh An
Khoa côngnghệ thông tin
Đại học Ngân hàng Tp Hồ Chí Minh
Nội dung trình bày
Kiểu liệu bản.
Biến hằng.
Biểu thức.
Câu lệnh.
Toán tử.
Namespace.
Các dẫn biên dịch.
Xử lý ngoại lệ.
Mô tả kiểu liệu C#
String Array ValueType Exception Delegate Class1
Multicast Delegate Class2
Class3 Object
Enum1
Structure1 Enum
Primitive types
Boolean Byte Int16 Int32 Int64 Char
Single Double Decimal DateTime
System-defined types User-defined types
Delegate1
(2)4/10/2012
Kiểu liệu
C# ngữ mạnh kiểu liệu
Phải khai báo kiểu biến, đối tượng
sử dụng
integer, float, string, byte, buttons, v.v
C# chia thành hai tập hợp kiểu liệu chính:
Kiểu xây dựng sẵn (built- in)
Kiểu người dùng định nghĩa (user-defined) do người lập trình tạo (lớp, struct, v.v).
Kiểu liệu (tt)
C# phân tập hợp kiểu liệu thành
hai loại:
Kiểu liệu giá trị (value type): int, char ,
và structures
Kiểu liệu tham chiếu (reference type):
classes, interfaces, arrays strings
Kiểu liệu xây dựng sẵn KiểuC# Số
Byte Kiểu .NET
Mơ tả Ví dụ
object Kiểu liệu sở cho tất kiểu liệu khác
object o = null; string Lưu trữ giá trị chuỗi string s =
“hello”; short Int16 Số nguyên có dấu giá trị từ -32768
(3)4/10/2012
Kiểu liệu xây dựng sẵn (tt) KiểuC# Số
Byte Kiểu .NET
Mơ tả Ví dụ
sbyte Sbyte Số nguyên có dấu ( từ -128 đến 127) byte Số nguyên không dấu từ - 255 long Int64 Kiểu số nguyên có dấu có giá trị
khoảng : -9.223.370.036.854.775.808 đến 9.223.372.036.854.775.807 ulong Uint64 Số nguyên không dấu từ đến
18446744073709551615
Kiểu liệu xây dựng sẵn (tt) Kiểu
C# Số Byte
Kiểu .NET
Mơ tả Ví dụ
float Single Kiểu dấu chấm động, giá trị xấp xỉ từ 3,4E-38 đến 3,4E+38, với chữ số có nghĩa Có thêm hậu tố F sau giá trị
float val = 1.23F; double Double Kiểu dấu chấm động có độ xác
gấp đôi, giá trị xấp xỉ 1.7E308 -1.7E+308, với 15,16 chữ số có nghĩa decimal Decimal Chính xác đến 28 số giá trị
thập phân, dùng tính tốn tài chính, địi hỏi hầu tố “m” hay “M” theo sau giá trị
Kiểu liệu xây dựng sẵn (tt) Kiểu C# Số
Byte Kiểu .NET
Mơ tả Ví dụ
(4)4/10/2012
Kiểu liệu xây dựng sẵn (tt) Ghi chú:
Kiểu giá trị logic nhận giá trị true hay false
Khác với C/C++, giá trị nguyên gán vào một biến kiểu logic C# khơng có chuyển đổi ngầm định nào
Biên dịch: xuất lỗi
Error CS0029 : Cannot implicitly convert type 'int' to 'bool'
Kiểu liệu xây dựng sẵn (tt)
Kiểu liệu ký tự thể ký tự Unicode
Baogồm ký tự đơn giản, ký tự theo mã Unicode và kýtự thoát khác bao dấu nháyđơn
Kýtự thoát ký tự đặc biệt bao gồm hai ký tự liêntiếp ký tự dầu tiên dấu chéo ‘\’ Ví dụ, \t làdấu tab
Giá trị mặc định kiểu liệu
Kiểu Giá trị mặc định
Numeric (int,float,short) 0 0.0
Bool false
(5)4/10/2012
Các ký tự đặc biệt
Ký tự Ý nghĩa
\' Dấu nháy đơn
\" Dấu nháy kép
\\ Dấu chéo (Backslash)
\0 Ký tự Null
\a Alert
Các ký tự đặc biệt (tt)
Ký tự Ý nghĩa
\b Backspace
\f Sang trang Form feed
\n Dòng mời (Newline)
\r Đầu dòng (Carriage return)
\t Tab ngang (Horizontal tab)
\v Tab dọc (Vertical tab)
Chuyển đổi kiểu liệu
Chuyển đổi kiểu liệu qua kiểu liệ khác
Có cách: chuyển đổi tường minh ngầm định
Chuyển đổi ngầm định thực cách tự động đảm bảo không thông tin.
Từ kiểu nhỏ sang kiểu lớn
short x = 10;
int y = x; // chuyển đổi ngầm định Trường hợp không thực hiện
short x; int y = 100;
(6)4/10/2012
Chuyển đổi kiểu liệu (tt)
short x; int y = 500;
x = (short) y; // Ép kiểu tường minh, trình biên dịch khơng báo lỗi
Để chuyển đổi ký tự sang mã ASCII
(int)'A‘
Để chuyển số sang ký tự ta thực
hiện sau:
(char)65
Chuyển đổi ngầm định
From To
sbyte short, int, long, float, double, decimal
byte short, ushort, int, uint, long, ulong, float, double, decimal short int, long, float, double, decimal
ushort int, uint, long, ulong, float, double, decimal int long, float, double, decimal
uint long, ulong, float, double, decimal long, ulong float, double, decimal float double
char ushort, int, uint, long, ulong, float, double, decimal
Chuyển đổi tường mình
Do lập trình viên định
Xảy khi
Ép từ kiểu lớn qua kiểu nhỏ: giá trị
doublex = 74.86;
(7)4/10/2012
Ví dụ sử dụng kiểu liệu Khai bao trước
sử dụng
Gán giá trị trước khi sử dụng
public class App {
public static void Main() {
int width, height; width = 2; height = 4;
int area = width * height; int x;
int y = x * 2;
} }
Khai báo
Khai báo + khởi đầu
Lỗi
Ví dụ
using System;
class TestDefaultValues {
static void Main() {
int number, result; number=5;
result=100 * number;
Console.WriteLine (“Result is {0} when 100 is multiplied by number {1}”, result, number);
} }
Ví dụ: chuyển đổi kiểu liệu
int i = 5; double d = 3.2; string s = "496"; d = i;
i = (int) d;
i = System.Convert.ToInt32(s); Chuyển đổi ngầm định
(8)4/10/2012
Input / Output C#
Sử dụng phương thức lớp Console
trong không gian tên System
Console.ReadLine() Console.WriteLine()
Định danh
Là tên mà người lập trình định cho kiểu liệu, phương thức, tên biến, hằng, lớp hay đối tượng
Định danh khơng trùng với từ khóa C#
Định danh phải bắt đầu với ký tự chữ hay dấu gạch dưới,
ký tự lại phải ký tự chữ cái, chữ số, dấu gạch C# phân biệt chữ hoa chữ thường
Ví dụ:
Định danh đúng: result , _score, footballTeam, plan9
Định danh sai: result%, footballTeam$, 9plan
Các từ khóa C#
abstract const extern in operator sbyte throw virtual as continue false int out sealed true void base decimal finally interface override set try volatile bool default fixed internal params short typeof where break delegate float is partial sizeof uint while byte do for lock private stackalloc ulong yield
(9)4/10/2012
Biến
Biến nơi lưu liệu chương trình
Dữ liệu biến
Nằm nhớ vật lý (physical RAM)
Có thể thay đổi giá trị
Phải khai báo trước dùng
Định danh: tên để đại diện cho biến
Kiểu liệu: dạng lưu trữ liệu biến
Biến (tt)
Bạn khai báo kết hợp khởi đầu giá trị
chobiến
Tênbiến không trùng với từ khóa của
C#,nếu muốn sử dụng từ khóa làm tên biến
phải thêm @ trước từ khóa
Khai báobiến:
<Kiểu> tên biến ;
int tuoi; tuoi = 21 ;
Console.WriteLine(tuoi);
(10)4/10/2012
Ví dụ: khai báo biến
using System;
using System.Collections.Generic; using System.Text;
namespace InitializingVariables { class Values
{ static void Main( ) { int myInt = 7;
System.Console.WriteLine(“Khởi đâu, myInt: {0}", myInt); myInt = 5;
System.Console.WriteLine(“Sau gán, myInt: {0}", myInt); }
} }
Output: Khởi đầu, myInt: sau gán, myInt:
Ví dụ: sử dụng từ khóa làm tên biến
using System; class VariableDemo {
public static void Main() {
string @string;
@string= ”Su dung tu khoa lam ten bien”; Console.WriteLine (@string);
} }
Hằng
Hằng biến mà giá trị khơng thể
thay đổi
Phải gán giá trị khai báo
Khai báo hằng