Wellcom CDTH11QN.
Chúc bạn thành công....
Bạn đã có tài khoảng chưa?? Hãy đăng kí liền nhé để được dowload và post bài !
Have nice day !



 
Trang ChínhCalendarGalleryTrợ giúpTìm kiếmThành viênNhómĐăng kýĐăng Nhập
Thư Mục
 GOOD LUCK !!
 Diễn Đàn
 Thành viên
 Lý lịch
 ASP.NET
 QLDAPM
 Bảo Mật Hệ Thống
 Win Nâng Cao
 Chuyên Đề PTPM
Latest topics
» Tuyển cộng tác viên đăng tin quảng cáo làm việc tại nhà
Mon Aug 26, 2013 11:38 am by nguyenvanbi

» ai co tai lieu tai lieu on thi tot nghiep
Fri Jun 22, 2012 7:04 pm by nduyphuc90

» Đề cương và Code ôn tập thi giữa kỳ môn CDPTPM
Mon May 28, 2012 9:50 am by huycanh

» Danh sách lớp và bài tiếng anh
Wed May 23, 2012 11:16 pm by huycanh

» Phần mềm code smith
Thu May 10, 2012 10:53 am by nguyenvanbi

» Báo cáo gửi Tiến!
Wed Apr 11, 2012 5:57 pm by nguyenvanbi

» Đồ án học phần quản lý học sinh THPT Thu Xà
Sun Apr 08, 2012 5:46 pm by nguyenvanbi

» Kĩ Thuật trong FIFA online 2
Sat Mar 31, 2012 7:55 am by thanhvip

» Gửi Tín CDTH11
Tue Mar 27, 2012 6:24 pm by nguyenvanbi

» Hướng dẫn tạo styles làm đồ án
Tue Mar 27, 2012 6:10 pm by nguyenvanbi

» BÁO CÁO ĐỒ ÁN NHÓM BI+TIẾN
Fri Mar 23, 2012 6:03 pm by nguyenvanbi

» BÀI BÁO CÁO THỰC TẬP MẪU CỦA CÔ TUYỀN!(HOT)
Wed Mar 14, 2012 5:55 pm by nguyenvanbi

» Công tác báo cáo thực tập tốt nghiệp và đồ án(QUAN TRỌNG)
Mon Mar 12, 2012 6:23 pm by nguyenvanbi

» BÀI BÁO CÁO ĐỒ ÁN THỰC TẬP
Sun Mar 11, 2012 5:18 pm by nguyenvanbi

» THÔNG BÁO KHẨN ĐỒ ÁN VÀ THỰC TẬP!
Thu Mar 08, 2012 9:20 am by nguyenvanbi

» Trang thông báo đồ án và thực tập cho lớp CDTH11QN
Mon Feb 27, 2012 8:49 am by Boss

» TỔNG HỢP HƯỚNG DẪN ĐỒ ÁN!
Sun Feb 26, 2012 12:15 am by nguyenvanbi

» Mot ngay di spa tai KDL SAVAN-21/05
Thu Feb 23, 2012 3:20 pm by Mask

» Thông báo đăng kí học phần!
Sun Feb 19, 2012 7:20 am by nguyenvanbi

» Bạn nào có hình ảnh kĩ niệm của lớp và facebook các bạn lớp mình cho mình xin nhé!THANK
Fri Feb 17, 2012 7:32 am by nguyenvanbi

Thống Kê
Hiện có 1 người đang truy cập Diễn Đàn, gồm: 0 Thành viên, 0 Thành viên ẩn danh và 1 Khách viếng thăm

Không

Số người truy cập cùng lúc nhiều nhất là 14 người, vào ngày Thu Sep 18, 2014 5:22 pm
Tìm kiếm
 
 

Display results as :
 
Rechercher Advanced Search
Đăng Nhập
Tên truy cập:
Mật khẩu:
Đăng nhập tự động mỗi khi truy cập: 
:: Quên mật khẩu

Share | 
 

 Chuyển đổi các kiểu dữ liệu trong C#

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Boss
Level 10
Level 10
avatar

Tổng số bài gửi : 61
Join date : 27/04/2011
Đến từ : BìnhSơn

Bài gửiTiêu đề: Chuyển đổi các kiểu dữ liệu trong C#   Fri Jun 10, 2011 8:10 pm

Trong
C# cung cấp cho chúng ta rất nhiều cách ép kiểu nhưng ở đây tớ chỉ xin giới
thiệu tới mọi người 4 cách:



1. Parse
Phương thức Parse là phương thức được sử dụng khá phổ biến khi chúng ta muốn
chuyển đổi một chuỗi sang một kiểu dữ liệu tương ứng.
Mỗi kiểu dữ liệu cơ bản trong C# đều có phương thức Parse để chuyển đổi sang
kiểu dữ liệu đó. Một số ví dụ các câu lệnh minh họa cho việc chuyển đổi sử dụng
phương thức Parse



PHP Code:


int a = Int32.Parse("123"); //a sẽ mang giá trị 123
float b = Float.Parse("20.7"); //b sẽ mang giá trị 20.7
bool c = Boolean.Parse("true"); //c sẽ mang giá trị true



Nếu như chuỗi chúng ta truyền vào là rỗng, không đúng định
dạng hoặc vượt quá giá trị cho phép thì chúng ta sẽ nhận được các Exception
tương ứng. Ví dụ:



PHP Code:


int a = Int32.Parse(“Hello”); //sai định dạng, FormatException
byte b = Byte.Parse(“10000000000”); //quá giới hạn, OverflowException
bool c = Boolean.Parse(null); //tham số là null, ArgumentNullException



2. TryParse
Giống như Parse, TryParse cũng là phương thức được tích hợp sẵn trong các lớp
kiểu dữ liệu cơ bản của C#. Tuy nhiên, cú pháp của TryParse có phần khác với
Parse. Cụ thể, tham số thứ nhất của TryParse là chuỗi cần chuyển đổi và tham số
thứ hai là biến sẽ chứa giá trị đã được chuyển đổi, biến thứ hai này phải được
đánh dấu là out . Để hiểu hơn về out các bạn tra MSDN nhé.

Một số ví dụ minh họa



PHP Code:


int a;
Int32.TryParse(“123”, out a); //a sẽ mang giá trị 123 bool b;
Boolean.TryParse(“false”, out b); //b sẽ mang giá trị false


Điểm khác biệt thứ hai của TryParse so với Parse là phương
thức TryParse không ném ra các ngoại lệ như Parse mà sẽ trả về các giá trị true
(chuyển đổi thành công) hoặc false (chuyển đổi thất bại, biến mang giá trị mặc
định).



PHP Code:


int a;
Int32.TryParse("hello", out a); //trả về giá trị false, a mang giá trị 0
bool b;
Boolean.TryParse("", out b); //trả về giá trị false, b mang giá trị False



Chú ý:
Ngoài ra, phương thức TryParse sẽ thực thi nhanh
hơn phương thức Parse vì TryParse không ném ra ngoại lệ


3. Convert
Lớp Convert là một lớp tiện ích trong C# cung cấp cho chúng ta rất nhiều phương
thức tĩnh khác nhau để chuyển đổi từ một kiểu dữ liệu này sang kiểu dữ liệu
khác. Tham số mà các phương thức trong Convert nhận không nhất thiết phải là
chuỗi mà có thể ở nhiều kiểu dữ liệu khác nhau (int, bool, double…). Ví dụ:



PHP Code:


int a = Convert.ToInt32("123"); //chuyển chuỗi 123 sang số nguyên
bool b = Convert.ToBoolean(13); //chuyển số 13 sang kiểu bool



Các phương thức trong lớp Convert sẽ trả về giá trị mặc định
nếu như tham số truyền vào là null. Còn trong các trường hợp sai định dạng hoặc
vượt quá giới hạn thì các phương thức đó sẽ ném ra các ngoại lệ tương tự như
phương thức Parse. Ví dụ:



PHP Code:


bool a = Convert.ToBoolean("khoaimon"); //FormatException
int b = Convert.ToInt32("123456787654"); //OverflowException
double d = Convert.ToDouble(null); //trả về giá trị mặc định



4. Casting (Ép kiểu)
Ép kiểu là cách chúng ta có thể sử dụng khi muốn chuyển đổi giữa các kiểu dữ
liệu có tính chất tương tự nhau (thường là số). Ví dụ :



PHP Code:


int a = 100;
float b = a; //chuyển đổi ngầm định, b = 100
int c = (int)b; //chuyển đổi rõ ràng, c = 100
int a = 100;


Ngoài ra, đối với các giá trị được lưu trong kiểu tổng quát
Object (bằng cách boxing) thì chúng ta có thể ép kiểu đưa về kiểu dữ liệu ban
đầu (Tìm hiểu về Boxing và Unboxing)



PHP Code:


object b = a; //boxing, b là kiểu tham chiếu chứa giá trị 100
int c = (int)b; //unboxing, c mang giá trị 100



Ép kiểu chỉ được sử dụng khi chúng ta biết rõ rằng đối tượng
đó chứa kiểu dữ liệu tương ứng với kiểu mà ta cần chuyển tới. Ví dụ như các
trường hợp sau sẽ là các lỗi cú pháp trong lập trình:



PHP Code:


string a = "1234";
int b = (int)a; //lỗi, không thể ép kiểu chuỗi sang kiểu số
bool c = true;
double d = (double)c; //lỗi, không thể ép kiểu bool sang kiểu double



Chú ý:
Việc sử dụng cách nào là do tùy chương trình và còn phụ thuộc vào sự quan hệ
giữa các kiểu dữ liệu vì thế các bạn nên chú ý nhé.

Lần trước có một mem hỏi tớ về toán tử "as". Và tiện đây tớ xin chia
sẻ thêm. Ngoài việc sử dụng casting thuần túy, chúng ta có thể sử dụng toán tử
“as”.
Nhược điểm của việc sử dụng casting thuần túy là nếu việc casting thất bại thì
chúng ta sẽ nhận được một exception cho việc thất bại đó. Tuy nhiên, nếu sử
dụng toán tử “as”, nếu việc casting không thành công thì chúng ta sẽ nhận về
một giá trị null thay vì là một exception.
vd:



PHP Code:


var myObject = existingObject as MyObject;
còn nhiều nú các chú vào đây mà dow về học nha:
mediafire.com ?85y1cyik4ytcmbx
Về Đầu Trang Go down
Xem lý lịch thành viên http://lyrenchi.everywebspace.com
huycanh
Level 15
Level 15
avatar

Tổng số bài gửi : 104
Join date : 28/04/2011
Age : 26
Đến từ : Đức Phổ

Bài gửiTiêu đề: Re: Chuyển đổi các kiểu dữ liệu trong C#   Sun Jun 12, 2011 9:52 pm

PHP qua C# nâng cao mới đụng tới mà. Nhưng cũng tks !!!!








Về Đầu Trang Go down
Xem lý lịch thành viên http://hui.edu.vn
 
Chuyển đổi các kiểu dữ liệu trong C#
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» 100% mạng truyền hình cáp chuyển sang công nghệ số trước 2020
» HD chuyển kênh bị mất tín hiệu
» Chuyển màn hình Laptop thành màn hình Tivi
» phần mềm chuyển đổi các loại đuôi Total video converter 3.5 full
» [Giúp đỡ]Hỏi về Cách di chuyển các kênh của đầu thu VTC HD 05

Permissions in this forum:Bạn không có quyền trả lời bài viết
 :: Học Tập :: Tài Liệu Học :: Lập Trình Win1-
Chuyển đến