Ép Kiểu Trong C# - Học Lập Trình C# Online - VietTuts
Có thể bạn quan tâm
C# Cơ Bản
C# là gì? - C# được sử dụng để làm gì? C# - Cài đặt môi trường C# - Cấu trúc chương trình C# - Cấu trúc cơ bản C# - Kiểu dữ liệu C# - Ép kiểu dữ liệu C# - Hằng số (Constant) C# - Toán tử C# - Lệnh if-else C# - Lệnh switch-case C# - Vòng lặp for C# - Vòng lặp while C# - Vòng lặp do-while C# - Nullable C# - Phương thức C# - Lớp (class) và đối tượng (Object) C# - Mảng (array) C# - Chuỗi (string) C# - Struct C# - Enum C# - Interface C# - Namespace C# - Preprocessor Directive C# - Regular Expression C# - Xử lý ngoại lệ C# - File I/OCác Tính Chất Hướng Đối Tượng C#
C# - Tính đóng gói C# - Tính kế thừa C# - Tính đa hình C# - Nạp chồng toán tửC# Nâng Cao
C# - Attribute C# - Reflection C# - Property C# - Indexer C# - Delegate C# - Sự kiện (Event) C# - Collection C# - Generic C# - Phương thức nặc danh C# - Unsafe Code C# - MultithreadingBài tập C#
Bài tập C# có lời giảiHọc Lập Trình C/C++
Học lập trình C Học lập trình C++ Kiểu dữ liệu trong C# Hằng số (Constant) trong C#Ép kiểu trong C# là việc gán giá trị của một biến có kiểu dữ liệu này tới biến khác có kiểu dữ liệu khác. Nó còn được gọi là chuyển đổi kiểu dữ liệu.
Nội dung chính
- Phân loại ép kiểu trong C#
- Phân loại ép kiểu tường minh trong C#
- 1. Nới rộng (widening)
- 2.Thu hẹp (narrowwing)
- Vấn đề sai dữ liệu khi thu hẹp dữ liệu
- Phương thức chuyển đổi kiểu dữ liệu trong C#
Phân loại ép kiểu trong C#
Trong C#, ép kiểu có hai mẫu sau:
Ép kiểu ngầm định (implicit) - Việc chuyển đổi này được thực hiện bởi C# theo một phương thức an toàn (type-safe). Ví dụ: việc chuyển đổi từ các lớp kế thừa thành các lớp cơ sở.
Ép kiểu tường minh (explicit) - Việc chuyển đổi này được thực hiện một cách rõ ràng bởi người dùng bằng việc sử dụng các hàm được định nghĩa trước. Các chuyển đổi kiểu tường minh sử dụng toán tử cast.
Phân loại ép kiểu tường minh trong C#
Ví dụ ép kiểu tường minh trong C#:
float c = 35.8f; int b = (int) c + 1;Trong ví dụ trên, đầu tiên giá trị dấu phảy động c được đổi thành giá trị nguyên 35. Sau đó nó được cộng với 1 và kết quả là giá trị 36 được lưu vào b.
Có 2 loại ép kiểu tường minh trong C#:
- Nới rộng (widening): Là quá trình làm tròn số từ kiểu dữ liệu có kích thước nhỏ hơn sang kiểu có kích thước lớn hơn. Kiểu biến đổi này không làm mất thông tin.
- Thu hẹp (narrowwing): Là quá trình làm tròn số từ kiểu dữ liệu có kích thước lớn hơn sang kiểu có kích thước nhỏ hơn. Kiểu biến đổi này có thể làm mất thông tin
1. Nới rộng (widening)
Ví dụ sau minh họa một ép kiểu nới rộng trong C#:
using System; namespace VietTutsCsharp { class EpKieuNoiRongCsharp { static void Main(string[] args) { int i = 100; long l = i; // không yêu cầu chỉ định ép kiểu float f = l; // không yêu cầu chỉ định ép kiểu Console.WriteLine("Gia tri Int: " + i); Console.WriteLine("Gia tri Long: " + l); Console.WriteLine("Gia tri Float: " + f); Console.ReadKey(); } } }Trên Visual Studio nhấn: CTRL + F5 để biên dịch và chạy chương trình C# trên sẽ cho kết quả sau:
2.Thu hẹp (narrowwing)
Thu hẹp (narrowwing): Là quá trình làm tròn số từ kiểu dữ liệu có kích thước lớn hơn sang kiểu có kích thước nhỏ hơn. Kiểu biến đổi này có thể làm mất thông tin như ví dụ ở trên. Chuyển kiểu loại này không thể thực hiện ngầm định bởi trình biên dịch, người dùng phải thực hiện chuyển kiểu tường minh.
Ví dụ sau minh họa một ép kiểu thu hẹp trong C#:
using System; namespace VietTutsCsharp { class EpKieuThuHepCsharp { static void Main(string[] args) { double d = 100.04; long l = (long)d; // yêu cầu chỉ định kiểu dữ liệu (long) int i = (int)l; // yêu cầu chỉ định kiểu dữ liệu (int) Console.WriteLine("Gia tri Double: " + d); Console.WriteLine("Gia tri Long: " + l); Console.WriteLine("Gia tri Int: " + i); Console.ReadKey(); } } }Trên Visual Studio nhấn: CTRL + F5 để biên dịch và chạy chương trình C# trên sẽ cho kết quả sau:
Vấn đề sai dữ liệu khi thu hẹp dữ liệu
Ví dụ sau minh họa sai số khi ép kiểu thu hẹp trong C#, ví dụ sau mô tả ép kiểu double thành kiểu int, vấn đề ở đây là giá trị của biến d = 2999999999.04 lớn hơn giá trị giới hạn của kiểu dữ liệu int , điều này dẫn đến vấn đề sai số:
using System; namespace VietTutsCsharp using System; namespace VietTutsCsharp { class EpKieuThuHep2Csharp { static void Main(string[] args) { double d = 2999999999.04; long l = (long)d; // yêu cầu chỉ định kiểu dữ liệu (long) int i = (int)l; // yêu cầu chỉ định kiểu dữ liệu (int) Console.WriteLine("Gia tri Double: " + d); Console.WriteLine("Gia tri Long: " + l); Console.WriteLine("Gia tri Int: " + i); Console.ReadKey(); } } }Trên Visual Studio nhấn: CTRL + F5 để biên dịch và chạy chương trình C# trên sẽ cho kết quả sau:
Phương thức chuyển đổi kiểu dữ liệu trong C#
C# cung cấp các phương thức chuyển đổi kiểu có sẵn được liệt kê trong bảng sau:
| STT | Phương thức & Mô tả |
|---|---|
| 1 | ToBoolean Chuyển đổi một kiểu thành một giá trị Boolean, nếu có thể |
| 2 | ToByte Chuyển đổi một kiểu thành một byte |
| 3 | ToChar Chuyển đổi một kiểu thành một Unicode character, nếu có thể |
| 4 | ToDateTime Chuyển đổi một kiểu (kiểu integer hoặc string) thành các cấu trúc date-time |
| 5 | ToDecimal Chuyển đổi một kiểu số thực hoặc số nguyên thành một kiểu thập phân |
| 6 | ToDouble Chuyển đổi một kiểu thành một kiểu double |
| 7 | ToInt16 Chuyển đổi một kiểu thành một 16-bit integer |
| 8 | ToInt32 Chuyển đổi một kiểu thành một 32-bit integer |
| 9 | ToInt64 Chuyển đổi một kiểu thành một 64-bit integer |
| 10 | ToSbyte Chuyển đổi một kiểu thành một kiểu signed byte |
| 11 | ToSingle Chuyển đổi một kiểu thành một số small floating point |
| 12 | ToString Chuyển đổi một kiểu thành một string |
| 13 | ToType Chuyển đổi một kiểu thành một kiểu đã xác định |
| 14 | ToUInt16 Chuyển đổi một kiểu thành một kiểu unsigned int |
| 15 | ToUInt32 Chuyển đổi một kiểu thành một kiểu unsigned long |
| 16 | ToUInt64 Chuyển đổi một kiểu thành một unsigned big integer |
Ví dụ sau minh họa cách chuyển đổi các kiểu dữ liệu khác thành kiểu dữ liệu string trong C#:
using System; namespace VietTutsCsharp { class EpKieuStringCsharp { static void Main(string[] args) { Console.WriteLine("Ep kieu String trong C#"); Console.WriteLine("----------------------------------"); int i = 123; float f = 10.05f; double d = 12345.6789; bool b = false; //su dung phuong thuc ToString() Console.WriteLine(i.ToString()); Console.WriteLine(f.ToString()); Console.WriteLine(d.ToString()); Console.WriteLine(b.ToString()); Console.ReadKey(); } } }Trên Visual Studio nhấn: CTRL + F5 để biên dịch và chạy chương trình C# trên sẽ cho kết quả sau:
Kiểu dữ liệu trong C# Hằng số (Constant) trong C# Recent Updates
Bài tập quản lý sinh viên trong C#Bài tập C# - Liệt kê số Fibonacci nhỏ hơn n và là số nguyên tố trong C#Bài tập C# - Tìm số thuận nghịch trong C#Bài tập C# - Tính tổng của các chữ số của môt số nguyên n trong C#Bài tập C# - Phân tích số nguyên n thành tích các số nguyên tố trong C#Bài tập C# - Liệt kê tất cả số nguyên tố có 5 chữ số trong C#Bài tập C# - Liệt kê n số nguyên tố đầu tiên trong C#Bài tập C# - Liệt kê tất cả các số nguyên tố nhỏ hơn n trong C#Bài tập C# - Tìm ước số chung lớn nhất (USCLN) và bội số chung nhỏ nhất (BSCNN) của 2 sốGiải phương trình bậc 2 trong C#Chuyển đổi hệ cơ số trong C#Tính giai thừa trong C#Sắp Tết 2026 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2026?VietTuts on facebook
Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học
Học Java | Hibernate | Spring Học Excel | Excel VBA Học Servlet | JSP | Struts2 Học C | C++ | C# Học Python Học SQL
Bài Tập Có Lời Giải
Bài tập Java Bài tập C Bài tập C++ Bài tập C# Bài tập Python Ví dụ Excel VBA
Câu Hỏi Phỏng Vấn
201 câu hỏi phỏng vấn java 25 câu hỏi phỏng vấn servlet 75 câu hỏi phỏng vấn jsp 52 câu hỏi phỏng vấn Hibernate 70 câu hỏi phỏng vấn Spring 57 câu hỏi phỏng vấn SQL
Từ khóa » ép Kiểu Bool Trong C#
-
Ép Kiểu Trong C# | How Kteam
-
Parse, TryParse, Convert Và Casting (Ép Kiểu) - ChienTX
-
Các Cách Chuyển đổi Kiểu Dữ Liệu Trong C# - Minh Hoàng Blog
-
Parse Là Gì - ép Kiểu Trong C# - Thienmaonline
-
Chuyển đổi Kiểu Dữ Liệu Trong C# - Quản Trị Máy Tính
-
Parse Là Gì - Ép Kiểu Trong C# - HappyMobile.Vn
-
Cách Chuyển đổi Kiểu Dữ Liệu Trong C# - MegaCode
-
Bài 2: Lập Trình C# Căn Bản – Phần 1 – Tin Công Nghệ Và Bài Học Lập ...
-
Chuyển đổi Các Kiểu Dữ Liệu Trong C# - Express Magazine
-
Parse Là Gì - ép Kiểu Trong C# - Có Nghĩa Là Gì, Ý Nghĩa La Gi 2021
-
Chuyển đổi Kiểu Dữ Liệu Trong C# | Comdy
-
Kiểu Bool, Boolean Trong Lập Trình C/C++ (Code Ví Dụ) - CodeCute
-
Cách ép Kiểu(convert) Dữ Liệu Trong C# - Jundat95
-
2.0 Boolean - Khóa Học C++