Các kiểu dữ liệu số nguyên trên thuộc các không gian tên tương ứng trong .NET framework như sau:Kiểu trong C# .NET Framework... 1.2 Kiểu luận lý Kiểu luận lý dùng để khai báo biến có th
Trang 1Lập trình NET
NHÓM 7 TIN K2
Thành viên nhóm 7:
1 Phạm Văn Út
2 Trương Thị Hải Yến
3 Nguyễn Xuân Tuấn
4 Nguyễn Hữu Tùng
5 Trần Khắc Trung
Trang 2
Chương 4:
Kiểu dữ liệu trong C#
Các vấn đề chính sẽ được đề cập:
1 Kiểu dữ liệu Value
2 Kiểu dữ liệu Reference
3 Khai báo biến Giá trị mặc định của biến
4 Tầm vực của biến
5 Hằng và enum
Trang 31 Kiểu Value
Kiểu dữ liệu Value chia thành hai loại chính : Structs, Enumerations Trong đó , Structs bao gồm kiểu số (Numeric) tương ứng với ba loại chính:
- Kiểu số
- Kiểu luận lý
- Kiểu do người dùng định nghĩa
Trang 41.1 Kiểu số
Một số kiểu số nguyên tổng quát như là:
sbyte, byte, char, short, ushort, int, uint, long, ulong
Kiểu Khoảng giá trị Kích thước
sbyte -128 -> 127 Số nguyên có dấu 8 bit
byte 0 -> 255 Số nguyên khong dấu 8 bit
char U+0000 to U+ffff Ký tự Unicode 16 bit
short -32,768 to 32,767 Số nguyên có dấu 16 bit
ushort 0 to 65,535 Số nguyên không dấu 16 bit int -2,147,483,648->2,147,483,647 Số nguyên có dấu 32 bit uint 0->4,294,967,295 Số nguyên không dấu 32bit
long − 263 → 263 - 1 Số nguyên có dấu 64 bit
ulong 0 →264 - 1 Số nguyên không dấu 64 bit
Trang 5Các kiểu dữ liệu số nguyên trên thuộc các không gian tên tương ứng trong NET framework như sau:
Kiểu trong C# NET Framework
Trang 61.1.2 Kiểu số chấm động
Kiểu số chấm động bao gồm hai loại chính là float và double
với kích thước và khoảng giá trị như dưới đây:
Kiểu Giá trị xấp xỉ Số lẻ
Float ±1.5e-45 -> ±3.4e38 7 số
Double ±5.0e-324 ->±1.7e308 15 -> 16 số
Kiểu số chấm động trên thuộc các không gian tên tương ứng trong NET framework như sau:
Trang 71.1.3 Kiểu số thập phân
Kiểu số thập phân có chiều dài 128 bit So với kiểu chấm động thì
số lẻ nhiều hơn và khoảng giá trị thì nhỏ hơn
Kiểu Giá trị xấp xỉ Số lẻ
decimal ±1.0 x 10e-28 -> ± 7.9 x 10e28 28 -> 29 số có dấu
Trong .NET Framework
Kiểu trong C# NET Framework
Trang 8
1.2 Kiểu luận lý
Kiểu luận lý dùng để khai báo biến có thể lưu trữ giá trị là true và
false, không gian tên tương ứng trong NET Framework là
System.Boolean
Trang 9
1.3 Kiểu do người sử dụng định nghĩa
Kiểu struct là kiểu giá trị dùng để nhóm một số biến có quan hệ
với nhau nhằm để lưu trữ tập gồm nhiều giá trị của một thực thể nào
public decimal dongia;
public string tensach;
public string tacgia;
public string nhaxuatban;
}
Trang 102 Kiểu Reference
Kiểu Reference dùng để lưu trữ tham chiếu đến giá trị thực, trong C#
kiểu Reference bao gồm: class, interface, delegate, object, string
2.1 Kiểu object
Kiểu object tương ứng System.Object trong NET Framework
Ta có thể gán giá trị bất kỳ cho một biến có kiểu object Khi một biến
có kiểu Value chuyển đổi sang kiểu Object được gọi là boxing
Ngược lại Một biến kiểu Object được chuyển đổi sang kiểu Value thì
được gọi là unboxing
2.2 Kiểu String
Kiểu string trình bày một chuỗi ký tự dạng Unicode Không gian
tên tương ứng trong NET Framework là System.String
- Hai phép so sánh == và != dùng để so sánh giá trị của đối tượng
string không phải là tham chiếu
Trang 113 Khai báo biến
3.1 Khai báo biến
Để khai báo biến ta sử dụng cú pháp như sau
(kiểu dữ liệu) tên biến [=giá trị khởi tạo];
Ví dụ:
using System;
namespace myVariables {
class Program {
// Khai báo biến không có giá trị khởi tạo int i;
// Khai báo biến có giá trị khởi tạo float price = 0;
string strSQL;
string strServer = “server=(local)”;
object obj = null;
} }
Trang 123.2 Gán giá trị cho biến
Ví dụ: Sau khi khai báo biến thì ta có thể gán giá trị cho biến như sau: using System;
string strServer = “server=(local)”;
object obj = null;
static void Main (string [] args) { // Khai báo biến số int không có giá trị khởi tạo int j;
// Gán giá trị cho biến j=10;
// Khai báo biến string không có giá trị khởi tạo string strSelect;
// Gán giá trị cho biến strSelect = “select * from Customers”; } }
Trang 133.3 Giá trị mặc định của biến
Trang 143.4 Ký tự đặc biệt trong giá trị dạng chuỗi
- Khi làm việc với kiểu string , ta có thể sử dụng ký tự @ để chỉ định các ký tự
đặc biệt trong chuỗi
- Chẳng hạn, ký tự \ hay “ là ký tự đặc biệt trong chuỗi đối với C#, như vậy phải
sử dụng ký tự \ ngay trước ký tự đặc biệt
Ví dụ:
using System;
namespace SpecialCharacter {
class Program
{ static void Main (string[] args) {
Trang 15Thay vì sử dụng ký tự \ trước những ký tự đặc biệt, ta có thể sử dụng dấu
@ ngay trước chuỗi như ví dụ
using System;
namespace SpecialCharacter{
class Program
{ static void Main (string[] args) {
Trang 166 HẰNG VÀ ENUM
6.1 Hằng
Từ khóa const dùng để chỉ định khai báo trường hay một biến cục bộ
với giá trị cho trước và không thể thay đổi trong quá trình thực thi
Thông thường khai báo hằng khi giá trị nào đó không thay đổi Ví dụ khai báo hằng nắm giữ giá trị là Pi bằng 3,14
using System;
namespace constants
{ class Class1 {
public const double pi = 3.14;
} }Tương tự như biến, tầm vực của hằng cũng sử dụng các từ khóa như
public, protected và private
Trang 17Ta cũng có thể khai báo nhiều hằng trên cùng một dòng lệnh
Ví dụ: Có thể khai báo hai hằng company và email như ví dụ
using System;
namespace constants
{
class Class1 {
public const double pi = 3.14;
public const string company = “ HUU KHANG”,email = “sales@huukhang.com”;
} }
Trang 18Ngoài ra, hằng cũng có thể khai báo bằng một biểu thức ví dụ có thể khai báo hằng với biểu thức như ví dụ
public const int c1 = 5;
// Khai báo hằng với biểu thức public const int c2 = c1 + 5;
}
}
Trang 19Trong trường hợp hằng chỉ có tầm vực trong phương thức, ta có thể khai báo hằng cục bộ
Console.WriteLine (welcom);
Console.ReadLine();
} }
}
Trang 20Khi thực thi đoạn chương trình trên, kết quả thu được như hình dưới
Trang 21Có thể sử dụng hằng từ class khác bằng cách khai báo và khởi tạo Class chứa hằng rồi truy cập đến tên hằng
Console.ReadLine();
} } }
Trang 22Khi thực thi đoạn chương trình trên, kết quả thu được như hình dưới
Trang 236.2 Enum
Từ khóa Enum sử dụng để định nghĩa một bảng dạng liệt kê các hằng có dữ liệu khác nhau Mọi phần tử trong bảng này đều có kiểu dữ liệu, ta có thể gán giá trị bất kỳ là kiểu số tổng quát ngoại trừ kiểu char
Ví dụ: Khai báo enum với 7 ngày trong tuần, phần tử đầu tiên sẽ có giá trị mặc định là 0 như sau
enum Days {Sun, Mon, Tue, Wed, Thu, Fri, Sat};
Như vậy ngày chủ nhật sẽ có giá trị là 0, các ngày còn lại thứ tự từ 1 đến
6 Trong trường hợp muốn phần tử đầu tiên có giá trị bắt đầu là 1 thì
phải khai bào enum trên như sau:
enum Days { Sun= 1, Mon, Tue, Wed, Thu, Fri, Sat};
Tức là ngày chủ nhật có giá trị là 1 các ngày còn lại có thứ tự từ 2 đến 7 Sau đó có thể truy cập đến từng phần của enum
Trang 24// Chuyen doi kieu du lieu
int x = (int) Days.Sat;
int y = (int) Days.Sun;
Trang 25Khi thực thi đoạn chương trình trên, kết quả thu được như hình dưới
Trang 26Khai báo enum
• Khai báo enum trong class
Nếu khai báo enum trong class thì phải có từ khóa public
Ví dụ khai báo trong class1
}
Trang 27Ví Dụ Truy cập phần tử enum
static void AccessEnum()
{
Console.WriteLine (“TransactionType”); Console.WriteLine (“Vendor = {0}”’
TransactionType.Vendor);
}
Trang 28Ví dụ: Khai báo nhiều enum
public enum Status : short
{
New, Pending, Paid, Reject }
public enum Other : short
{ Administration, Engineering, Finance, Humanresource, StoreKeepper }
}