Trang chủ
Bài viết mới
Diễn đàn
Bài mới trên hồ sơ
Hoạt động mới nhất
VIDEO
Mùa Tết
Văn Học Trẻ
Văn Học News
Media
New media
New comments
Search media
Đại Học
Đại cương
Chuyên ngành
Triết học
Kinh tế
KHXH & NV
Công nghệ thông tin
Khoa học kĩ thuật
Luận văn, tiểu luận
Phổ Thông
Lớp 12
Ngữ văn 12
Lớp 11
Ngữ văn 11
Lớp 10
Ngữ văn 10
LỚP 9
Ngữ văn 9
Lớp 8
Ngữ văn 8
Lớp 7
Ngữ văn 7
Lớp 6
Ngữ văn 6
Tiểu học
Thành viên
Thành viên trực tuyến
Bài mới trên hồ sơ
Tìm trong hồ sơ cá nhân
Credits
Transactions
Xu: 0
Đăng nhập
Đăng ký
Có gì mới?
Tìm kiếm
Tìm kiếm
Chỉ tìm trong tiêu đề
Bởi:
Hoạt động mới nhất
Đăng ký
Menu
Đăng nhập
Đăng ký
Install the app
Cài đặt
Chào mừng Bạn tham gia Diễn Đàn VNKienThuc.com -
Định hướng Forum
Kiến Thức
- HÃY TẠO CHỦ ĐỀ KIẾN THỨC HỮU ÍCH VÀ CÙNG NHAU THẢO LUẬN Kết nối:
VNK X
-
VNK groups
| Nhà Tài Trợ:
BhnongFood X
-
Bhnong groups
-
Đặt mua Bánh Bhnong
CÔNG NGHỆ
Công Nghệ Thông Tin
Code
Các kiểu dữ liệu trong C#
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Trả lời chủ đề
Nội dung
<blockquote data-quote="uocmo_kchodoi" data-source="post: 177491" data-attributes="member: 165510"><p>Ở bài trước chúng ta đã tìm hiểu về biến trong C#, trong bài viết này chúng ta sẽ tìm hiểu thêm các kiểu dữ liệu của biến nhé.</p><p></p><p>Các biến trong C# được phân chia thành các kiểu sau:</p><ul> <li data-xf-list-type="ul">Kiểu giá trị (Value type)</li> <li data-xf-list-type="ul">Kiểu tham chiếu (Reference type)</li> <li data-xf-list-type="ul">Kiểu con trỏ (Pointer type)</li> </ul><p><span style="font-size: 18px"><strong>1. Kiểu giá trị trong C#</strong></span></p><p><span style="font-size: 18px"></span></p><p>Các biến kiểu giá trị có thể được gán một giá trị một cách trực tiếp. Chúng được kế thừa từ lớpSystem.ValueType.</p><p></p><p>Kiểu giá trị trực tiếp chứa dữ liệu. Một số ví dụ là int, char, và float, tương ứng giữ số nguyên, chữ cái, và số thực. Khi bạn khai báo một kiểu int, hệ thống cấp phát bộ nhớ để lưu giá trị đó.</p><p></p><p>Bảng sau liệt kê các kiểu giá trị có sẵn trong C# 2010:</p><p></p><p><strong>Kiểu</strong> ....................<strong>Biểu diễn.......................................</strong> <strong>Dãy giá trị..........................</strong> <strong>Giá trị mặc định</strong></p><p>bool ...............Giá trị Boolean ..................................True hoặc False..........................................False</p><p>byte................Kiểu unsigned integer(8 bit)....................... 0 tới 255............................................. 0</p><p>char...............Kiểu Unicode character (16 bit) ........U +0000 tới U +ffff..................... ................'\0'</p><p>decimal .........Kiểu thập phân (128 bit) ..................(-7.9 x 1028 tới 7.9 x 1028) / 100 to 28 .......0.0M</p><p>double ...........Kiểu double (64 bit) ...........................(+/-)5.0 x 10-324 tới (+/-)1.7 x 10308 ........0.0D</p><p>float ................Kiểu float (32 bit) ...............................-3.4 x 1038 tới + 3.4 x 1038 .......................0.0F</p><p>int ...................Kiểu integer (32 bit) ...........................-2,147,483,648 tới 2,147,483,647 .................0</p><p>long...Kiểu signed integer (64bit)...-9,223,372,036,854,775,808 tới 9,223,372,036,854,775,807....0L</p><p>sbyte ..............Kiểu signed integer (8 bit) ...................-128 tới 127................................................ 0</p><p>short ..............Kiểu signed integer (16 bit) ...................-32,768 tới 32,767...................................... 0</p><p>uint ................Kiểu unsigned integer (32 bit)............... 0 tới 4,294,967,295 .....................................0</p><p>ulong.............. Kiểu unsigned integer (64 bit) .............0 tới 18,446,744,073,709,551,615................ 0</p><p>ushort ............Kiểu unsigned integer (16 bit) ...............0 tới 65,535................................................. 0</p><p></p><p><span style="font-size: 18px"><strong>Từ khóa sizeof trong C#</strong></span></p><p><span style="font-size: 18px"></span></p><p>Để lấy kích cỡ chính xác của một kiểu hoặc một biến trên một nền tảng cụ thể, bạn có thể sử dụng phương thức sizeof. Biểu thức <em>sizeof(type)</em> hiển thị kích cỡ của đối tượng hoặc kiểu bằng giá trị byte. Ví dụ dưới đây để lấy kích cỡ của kiểu int trên bất kỳ máy tính:</p><p></p><p><span style="color: #5900b3">using System;</span></p><p><span style="color: #5900b3"></span></p><p><span style="color: #5900b3">namespace VietJackCsharp</span></p><p><span style="color: #5900b3">{</span></p><p><span style="color: #5900b3"> class TestCsharp</span></p><p><span style="color: #5900b3"> {</span></p><p><span style="color: #5900b3"> static void Main(string[] args)</span></p><p><span style="color: #5900b3"> {</span></p><p><span style="color: #5900b3"> Console.WriteLine("Tu khoa sizeof trong C#");</span></p><p><span style="color: #5900b3"> Console.WriteLine("-------------------------");</span></p><p><span style="color: #5900b3"> </span></p><p><span style="color: #5900b3"> Console.WriteLine("Kich co cua kieu du lieu int la: {0}", sizeof(int));</span></p><p><span style="color: #5900b3"> Console.WriteLine("Kich co cua kieu du lieu float la: {0}", sizeof(float));</span></p><p><span style="color: #5900b3"> Console.WriteLine("Kich co cua kieu du lieu double la: {0}", sizeof(double));</span></p><p><span style="color: #5900b3"> Console.WriteLine("Kich co cua kieu du lieu char la: {0}", sizeof(char));</span></p><p><span style="color: #5900b3"> Console.ReadLine();</span></p><p><span style="color: #5900b3"></span></p><p><span style="color: #5900b3"> Console.ReadKey();</span></p><p><span style="color: #5900b3"> }</span></p><p><span style="color: #5900b3"> }</span></p><p><span style="color: #5900b3">}</span></p><p><span style="color: #5900b3"></span></p><p>Biên dịch và chạy chương trình C# trên sẽ cho kết quả sau:</p><p></p><p><img src="https://vietjack.com/csharp/images/tu-khoa-sizeof.PNG" alt="" class="fr-fic fr-dii fr-draggable " data-size="" style="" /></p><p></p><p><span style="font-size: 18px"><strong>2. Kiểu tham chiếu trong C#</strong></span></p><p><span style="font-size: 18px"></span></p><p>Kiểu tham chiếu không chứa dữ liệu thực sự được lưu giữ trong một biến, nhưng chúng chứa một tham chiếu tới các biến.</p><p></p><p>Nói cách khác, chúng tham chiếu tới một vị trí bộ nhớ. Việc sử dụng nhiều biến, thì kiểu tham chiếu có thể tham chiếu tới tới một vị trí bộ nhớ. Nếu dữ liệu trong vị trí bộ nhớ bị thay đổi bởi một trong số các biến, thì biến khác tự động phản ánh sự thay đổi về giá trị này. Ví dụ các kiểu tham chiếu có sẵn trong C# là: object, dynamic, và string.</p><p></p><p><span style="font-size: 15px"><span style="color: #0000ff"><strong><em>Kiểu object trong C#</em></strong></span></span></p><p><span style="font-size: 15px"></span></p><p>Kiểu object là lớp cơ sở cơ bản cho tất cả kiểu dữ liệu trong C# Common Type System (CTS). Object là một alias cho lớp System.Object. Các kiểu object có thể được gán giá trị của bất kỳ kiểu, kiểu giá trị, kiểu tham chiếu, kiểu tự định nghĩa (user-defined) khác. Tuy nhiên, trước khi gán các giá trị, nó cần một sự chuyển đổi kiểu.</p><p></p><p>Khi một kiểu giá trị được chuyển đổi thành kiểu object, nó được gọi là boxing và ngược lại, khi một kiểu object được chuyển đổi thành kiểu giá trị, nó được gọi là unboxing.</p><p></p><p>object obj;</p><p>obj = 100; // day la vi du boxing</p><p></p><p><span style="font-size: 15px"><span style="color: #0000ff"><strong><em>Kiểu Dynamic trong C#</em></strong></span></span></p><p><span style="font-size: 15px"></span></p><p>Bạn có thể lưu giữ bất kỳ kiểu giá trị nào trong biến kiểu dữ liệu dynamic. Việc kiểm tra các kiểu biến này diễn ra tại run time.</p><p></p><p>Cú pháp để khai báo một kiểu dynamic trong C# là:</p><p></p><p>dynamic <tên_biến> = giá_trị;</p><p>Ví dụ</p><p></p><p>dynamic d = 20;</p><p>Kiểu dynamic là tương tự với kiểu object, ngoại trừ việc kiểm tra cho các biến kiểu object diễn ra tại compile time, trong khi việc kiểm tra các biến kiểu dynamic diễn ra tại run time.</p><p></p><p><span style="font-size: 15px"><span style="color: #0000ff"><strong><em>Kiểu string trong C#</em></strong></span></span></p><p><span style="font-size: 15px"></span></p><p>Kiểu string trong C# cho phép bạn gán bất kỳ giá trị chuỗi nào cho một biến. Kiểu string là một <em>alias</em> cho lớp System.String. Nó kế thừa từ kiểu object. Giá trị cho một kiểu string có thể được gán bởi sử dụng các hằng chuỗi trong hai mẫu: quoted và @quoted.</p><p></p><p>Ví dụ:</p><p></p><p>String str = "Hoc C# co ban va nang cao tai VietJack";</p><p>Và một hằng chuỗi @quoted trông như sau:</p><p></p><p>@"VietJack Team";</p><p>Các kiểu tự định nghĩa (user-defined) trong C# là: Class, Interface, hoặc Delegate. Chúng ta sẽ bàn về các kiểu này trong các chương sau.</p><p></p><p><span style="font-size: 18px"><strong>3. Kiểu con trỏ trong C#</strong></span></p><p><span style="font-size: 18px"></span></p><p>Các biến kiểu con trỏ lưu giữ địa chỉ bộ nhớ của kiểu khác. Các con trỏ trong C# có khả năng như con trỏ trong C hoặc C++.</p><p></p><p>Cú pháp để khai báo một kiểu con trỏ trong C# là:</p><p></p><p>type* identifier;</p><p>Ví dụ:</p><p></p><p>char* cptr;</p><p>int* iptr;</p><p></p><p>Nguồn: vietjack.com</p></blockquote><p></p>
[QUOTE="uocmo_kchodoi, post: 177491, member: 165510"] Ở bài trước chúng ta đã tìm hiểu về biến trong C#, trong bài viết này chúng ta sẽ tìm hiểu thêm các kiểu dữ liệu của biến nhé. Các biến trong C# được phân chia thành các kiểu sau: [LIST] [*]Kiểu giá trị (Value type) [*]Kiểu tham chiếu (Reference type) [*]Kiểu con trỏ (Pointer type) [/LIST] [SIZE=5][B]1. Kiểu giá trị trong C#[/B] [B][/B][/SIZE] Các biến kiểu giá trị có thể được gán một giá trị một cách trực tiếp. Chúng được kế thừa từ lớpSystem.ValueType. Kiểu giá trị trực tiếp chứa dữ liệu. Một số ví dụ là int, char, và float, tương ứng giữ số nguyên, chữ cái, và số thực. Khi bạn khai báo một kiểu int, hệ thống cấp phát bộ nhớ để lưu giá trị đó. Bảng sau liệt kê các kiểu giá trị có sẵn trong C# 2010: [B]Kiểu[/B] ....................[B]Biểu diễn.......................................[/B] [B]Dãy giá trị..........................[/B] [B]Giá trị mặc định[/B] bool ...............Giá trị Boolean ..................................True hoặc False..........................................False byte................Kiểu unsigned integer(8 bit)....................... 0 tới 255............................................. 0 char...............Kiểu Unicode character (16 bit) ........U +0000 tới U +ffff..................... ................'\0' decimal .........Kiểu thập phân (128 bit) ..................(-7.9 x 1028 tới 7.9 x 1028) / 100 to 28 .......0.0M double ...........Kiểu double (64 bit) ...........................(+/-)5.0 x 10-324 tới (+/-)1.7 x 10308 ........0.0D float ................Kiểu float (32 bit) ...............................-3.4 x 1038 tới + 3.4 x 1038 .......................0.0F int ...................Kiểu integer (32 bit) ...........................-2,147,483,648 tới 2,147,483,647 .................0 long...Kiểu signed integer (64bit)...-9,223,372,036,854,775,808 tới 9,223,372,036,854,775,807....0L sbyte ..............Kiểu signed integer (8 bit) ...................-128 tới 127................................................ 0 short ..............Kiểu signed integer (16 bit) ...................-32,768 tới 32,767...................................... 0 uint ................Kiểu unsigned integer (32 bit)............... 0 tới 4,294,967,295 .....................................0 ulong.............. Kiểu unsigned integer (64 bit) .............0 tới 18,446,744,073,709,551,615................ 0 ushort ............Kiểu unsigned integer (16 bit) ...............0 tới 65,535................................................. 0 [SIZE=5][B]Từ khóa sizeof trong C#[/B] [/SIZE] Để lấy kích cỡ chính xác của một kiểu hoặc một biến trên một nền tảng cụ thể, bạn có thể sử dụng phương thức sizeof. Biểu thức [I]sizeof(type)[/I] hiển thị kích cỡ của đối tượng hoặc kiểu bằng giá trị byte. Ví dụ dưới đây để lấy kích cỡ của kiểu int trên bất kỳ máy tính: [COLOR=#5900b3]using System; namespace VietJackCsharp { class TestCsharp { static void Main(string[] args) { Console.WriteLine("Tu khoa sizeof trong C#"); Console.WriteLine("-------------------------"); Console.WriteLine("Kich co cua kieu du lieu int la: {0}", sizeof(int)); Console.WriteLine("Kich co cua kieu du lieu float la: {0}", sizeof(float)); Console.WriteLine("Kich co cua kieu du lieu double la: {0}", sizeof(double)); Console.WriteLine("Kich co cua kieu du lieu char la: {0}", sizeof(char)); Console.ReadLine(); Console.ReadKey(); } } } [/COLOR] Biên dịch và chạy chương trình C# trên sẽ cho kết quả sau: [IMG]https://vietjack.com/csharp/images/tu-khoa-sizeof.PNG[/IMG] [SIZE=5][B]2. Kiểu tham chiếu trong C#[/B] [/SIZE] Kiểu tham chiếu không chứa dữ liệu thực sự được lưu giữ trong một biến, nhưng chúng chứa một tham chiếu tới các biến. Nói cách khác, chúng tham chiếu tới một vị trí bộ nhớ. Việc sử dụng nhiều biến, thì kiểu tham chiếu có thể tham chiếu tới tới một vị trí bộ nhớ. Nếu dữ liệu trong vị trí bộ nhớ bị thay đổi bởi một trong số các biến, thì biến khác tự động phản ánh sự thay đổi về giá trị này. Ví dụ các kiểu tham chiếu có sẵn trong C# là: object, dynamic, và string. [SIZE=4][COLOR=#0000ff][B][I]Kiểu object trong C#[/I][/B][/COLOR] [/SIZE] Kiểu object là lớp cơ sở cơ bản cho tất cả kiểu dữ liệu trong C# Common Type System (CTS). Object là một alias cho lớp System.Object. Các kiểu object có thể được gán giá trị của bất kỳ kiểu, kiểu giá trị, kiểu tham chiếu, kiểu tự định nghĩa (user-defined) khác. Tuy nhiên, trước khi gán các giá trị, nó cần một sự chuyển đổi kiểu. Khi một kiểu giá trị được chuyển đổi thành kiểu object, nó được gọi là boxing và ngược lại, khi một kiểu object được chuyển đổi thành kiểu giá trị, nó được gọi là unboxing. object obj; obj = 100; // day la vi du boxing [SIZE=4][COLOR=#0000ff][B][I]Kiểu Dynamic trong C#[/I][/B][/COLOR] [B][/B][/SIZE] Bạn có thể lưu giữ bất kỳ kiểu giá trị nào trong biến kiểu dữ liệu dynamic. Việc kiểm tra các kiểu biến này diễn ra tại run time. Cú pháp để khai báo một kiểu dynamic trong C# là: dynamic <tên_biến> = giá_trị; Ví dụ dynamic d = 20; Kiểu dynamic là tương tự với kiểu object, ngoại trừ việc kiểm tra cho các biến kiểu object diễn ra tại compile time, trong khi việc kiểm tra các biến kiểu dynamic diễn ra tại run time. [SIZE=4][COLOR=#0000ff][B][I]Kiểu string trong C#[/I][/B][/COLOR] [/SIZE] Kiểu string trong C# cho phép bạn gán bất kỳ giá trị chuỗi nào cho một biến. Kiểu string là một [I]alias[/I] cho lớp System.String. Nó kế thừa từ kiểu object. Giá trị cho một kiểu string có thể được gán bởi sử dụng các hằng chuỗi trong hai mẫu: quoted và @quoted. Ví dụ: String str = "Hoc C# co ban va nang cao tai VietJack"; Và một hằng chuỗi @quoted trông như sau: @"VietJack Team"; Các kiểu tự định nghĩa (user-defined) trong C# là: Class, Interface, hoặc Delegate. Chúng ta sẽ bàn về các kiểu này trong các chương sau. [SIZE=5][B]3. Kiểu con trỏ trong C#[/B] [/SIZE] Các biến kiểu con trỏ lưu giữ địa chỉ bộ nhớ của kiểu khác. Các con trỏ trong C# có khả năng như con trỏ trong C hoặc C++. Cú pháp để khai báo một kiểu con trỏ trong C# là: type* identifier; Ví dụ: char* cptr; int* iptr; Nguồn: vietjack.com [/QUOTE]
Tên
Mã xác nhận
Gửi trả lời
CÔNG NGHỆ
Công Nghệ Thông Tin
Code
Các kiểu dữ liệu trong C#
Top