ชนิดข้อมูลเป็นส่วนสำคัญของภาษาโปรแกรมใดๆ และ C# มีชนิดข้อมูลหลายประเภทที่ใช้สำหรับการประกาศตัวแปร กำหนดเมธอด และสร้างอ็อบเจกต์ ในบทความนี้ เราจะพูดถึงประเภทข้อมูลต่างๆ ใน C# และประเภทย่อย รวมถึงประเภทข้อมูลค่า การอ้างอิง และตัวชี้
ข้อมูลประเภทใดที่มีอยู่ใน C#
C# คือ ภาษาโปรแกรมที่พิมพ์อย่างมาก ซึ่งหมายความว่าต้องประกาศตัวแปรทั้งหมดด้วยประเภทข้อมูลเฉพาะ และมีประเภทข้อมูลหลักสามประเภท:
1: ประเภทข้อมูลค่า
ประเภทข้อมูลค่าคือประเภทที่เก็บค่าโดยตรงในหน่วยความจำ พวกมันถูกจัดสรรบนสแต็กและมักจะใช้สำหรับจัดเก็บชุดข้อมูลที่มีขนาดเล็กลง ต่อไปนี้เป็นประเภทย่อยของประเภทข้อมูลค่า:
ประเภทข้อมูลตัวเลข
ชนิดข้อมูลเหล่านี้ใช้สำหรับจัดเก็บค่าตัวเลข ประเภทข้อมูลตัวเลขแบ่งออกเป็นหลายประเภทย่อย เช่น ทศนิยม จำนวนเต็ม และตัวเลขทศนิยม:
- จำนวนเต็ม: ชนิดข้อมูลเหล่านี้ใช้สำหรับจัดเก็บจำนวนเต็มและหมวดหมู่ย่อยของจำนวนเต็ม ได้แก่ sbyte, byte, short, ushort, int, uint, long และ ulong ช่วงของค่าที่แต่ละรูปแบบข้อมูลจำนวนเต็มสามารถเก็บได้จะแตกต่างกันไป
- ตัวเลขทศนิยม: ชนิดข้อมูลเหล่านี้ใช้สำหรับจัดเก็บตัวเลขทศนิยม และประเภทย่อยของตัวเลขทศนิยม ได้แก่ จำนวนทศนิยมและเลขคู่ Float สามารถเก็บทศนิยมได้สูงสุด 7 หลักในขณะที่ Double สามารถเก็บทศนิยมได้สูงสุด 15 หลัก
- ทศนิยม: ชนิดข้อมูลเหล่านี้ใช้เพื่อจัดเก็บจำนวนเต็มทศนิยมที่มีความแม่นยำสูง ทศนิยมสามารถเก็บได้ถึง 28 หลักทศนิยม
ประเภทข้อมูลบูลีน
ค่าบูลีนซึ่งสามารถเป็นจริงหรือเท็จเท่านั้นจะถูกเก็บไว้ในรูปแบบข้อมูลนี้
ประเภทข้อมูลตัวอักษร
อักขระเดี่ยวถูกจัดเก็บโดยใช้ชนิดข้อมูลนี้
ตัวอย่าง
โค้ดตัวอย่างต่อไปนี้แสดงวิธีใช้ประเภทข้อมูลค่าใน C#:
ใช้ระบบ;เนมสเปซ ValueDataTypesตัวอย่าง
{
โปรแกรมคลาส
{
โมฆะคงที่หลัก ( สตริง [ ] หาเรื่อง )
{
int myInt = 5 ;
ลอย myFloat = 3.14f;
สองเท่า myDouble = 3.14159265359 ;
บูล myBool = จริง ;
ถ่าน myChar = 'เอ' ;
Console.WriteLine ( 'ค่าจำนวนเต็มของฉันคือ: ' + มายอินท์ ) ;
Console.WriteLine ( 'ค่าทศนิยมของฉันคือ: ' + มายโฟลต ) ;
Console.WriteLine ( 'คุณค่าสองเท่าของฉันคือ: ' + มายดับเบิ้ล ) ;
Console.WriteLine ( 'ค่าบูลีนของฉันคือ: ' + มายบูล ) ;
Console.WriteLine ( 'ค่าตัวละครของฉันคือ: ' + มายชาร์ ) ;
}
}
}
ในตัวอย่างนี้ เราได้ประกาศและเริ่มต้นตัวแปรของประเภทข้อมูลค่าต่างๆ เช่น int, float, double, bool และ char จากนั้นเราพิมพ์ค่าของตัวแปรเหล่านี้โดยใช้เมธอด Console.WriteLine ผลลัพธ์ของโปรแกรมนี้จะเป็น:
2: ประเภทข้อมูลอ้างอิง
ชนิดข้อมูลอ้างอิงคือประเภทที่เก็บข้อมูลอ้างอิงไปยังตำแหน่งหน่วยความจำที่เก็บค่าไว้ พวกมันถูกจัดสรรบนฮีปและโดยทั่วไปจะใช้สำหรับจัดเก็บข้อมูลจำนวนมากขึ้น ต่อไปนี้เป็นประเภทย่อยของชนิดข้อมูลอ้างอิง:
ระดับ
ใน C# คลาสคือประเภทการอ้างอิงที่กำหนดพิมพ์เขียวสำหรับสร้างวัตถุ
สตริง
ชนิดข้อมูลอ้างอิงนี้ใช้สำหรับจัดเก็บข้อมูลข้อความ สตริงเป็นชนิดการอ้างอิง แต่มีลักษณะการทำงานเหมือนชนิดค่าในหลายๆ รูปแบบ
อาร์เรย์
คอลเลกชันของค่าประเภทเดียวกันสามารถจัดเก็บได้โดยใช้ข้อมูลประเภทนี้ อาร์เรย์เป็นประเภทการอ้างอิง แต่ก็สามารถทำงานเหมือนประเภทค่าได้ในบางกรณี
อินเตอร์เฟซ
อินเทอร์เฟซกำหนดชุดของเมธอด คุณสมบัติ เหตุการณ์ และตัวสร้างดัชนี โดยไม่ต้องให้รายละเอียดการใช้งานใดๆ
ผู้รับมอบสิทธิ์
ผู้รับมอบสิทธิ์อนุญาตให้คุณส่งผ่านเมธอดเป็นอาร์กิวเมนต์ไปยังเมธอดอื่น จากนั้นเรียกใช้เมธอดนั้นผ่านผู้รับมอบสิทธิ์ในภายหลัง
ตัวอย่าง
นี่คือตัวอย่างโค้ด C# ที่แสดงวิธีใช้ ชนิดข้อมูลอ้างอิง :
ใช้ระบบ;คลาสบุคคล
{
ชื่อสตริงสาธารณะ;
อายุ int สาธารณะ;
}
โปรแกรมคลาส
{
โมฆะคงที่หลัก ( สตริง [ ] หาเรื่อง )
{
คน คน1 = คนใหม่ ( ) ;
คน1.ชื่อ = 'ตัวเขาเอง' ;
คน1.อายุ = ยี่สิบ ;
คน คน2 = คน1;
คน2.อายุ = 30 ;
Console.WriteLine ( คน1.ชื่อ + ' เป็น ' +บุคคล1.อายุ+ ' ปี.' ) ;
Console.WriteLine ( คน2.ชื่อ + ' เป็น ' +คนที่2.อายุ+ ' ปี.' ) ;
}
}
คลาสบุคคลในตัวอย่างนี้มีฟิลด์สาธารณะสองฟิลด์: ชื่อ ซึ่งเป็นประเภทสตริง และอายุ ซึ่งเป็นประเภท int จากนั้น เราสร้างอินสแตนซ์ใหม่ของคลาส Person และกำหนดให้กับ person1 ในเมธอด Main เราแก้ไขแอตทริบิวต์ชื่อและอายุของบุคคลที่ 1
ต่อไป เราสร้างตัวแปรอ้างอิงอีกตัวเป็น person2 และกำหนดค่าเป็น person1 จากนั้นเราเปลี่ยนคุณสมบัติอายุของบุคคลที่ 2 เป็น 30
สุดท้าย เราพิมพ์ชื่อและอายุของทั้งบุคคลที่ 1 และบุคคลที่ 2 โปรดสังเกตว่าการเปลี่ยนค่าของ บุคคลที่2.อายุ ยังเปลี่ยนค่าของ คน1.อายุ เนื่องจากตัวแปรทั้งสองอ้างอิงถึงตัวเดียวกัน วัตถุ ในความทรงจำ.
3: ชนิดข้อมูลตัวชี้
ชนิดข้อมูลตัวชี้ใช้สำหรับจัดเก็บที่อยู่หน่วยความจำของตัวแปรอื่น ใช้ในการเขียนโปรแกรมระดับต่ำ เช่น การเขียนโปรแกรมระดับระบบหรือการพัฒนาโปรแกรมควบคุมอุปกรณ์ . ใน C# ชนิดข้อมูลตัวชี้จะไม่ถูกใช้โดยตรง แต่สามารถใช้ในบล็อคโค้ดที่ไม่ปลอดภัยได้ ต่อไปนี้เป็นประเภทย่อยของชนิดข้อมูลตัวชี้:
ชนิดข้อมูลตัวชี้
ชนิดข้อมูลนี้ใช้สำหรับจัดเก็บที่อยู่หน่วยความจำของตัวแปรอื่น
นี่คือตัวอย่างที่แสดงให้เห็นถึงการใช้ ชนิดข้อมูลตัวชี้ ใน C# แม้ว่าจะต้องการการดูแลเป็นอย่างมาก:
ใช้ระบบ;โปรแกรมคลาส {
โมฆะคงที่ไม่ปลอดภัยหลัก ( ) {
หมายเลข int = 10 ;
นานาชาติ * พี = & ในหนึ่ง;
Console.WriteLine ( $ 'มูลค่าของจำนวน: {num}' ) ;
Console.WriteLine ( $ 'ที่อยู่จำนวน: {(long)p:X}' ) ;
Console.WriteLine ( $ 'ค่าตัวเลขโดยใช้ตัวชี้: {*p}' ) ;
Console.ReadLine ( ) ;
}
}
ในตัวอย่างนี้ เราใช้คีย์เวิร์ดที่ไม่ปลอดภัยเพื่ออนุญาตให้ใช้พอยน์เตอร์ เราประกาศตัวแปร int-type และให้ค่าเป็น 10 จากนั้นเราสร้างตัวชี้ตัวแปร pointer ชนิด int* และกำหนดให้เป็นที่อยู่หน่วยความจำของค่าโดยใช้ตัวดำเนินการ &
นอกจากนี้ เราเข้าถึงค่าที่จัดเก็บไว้ในค่าโดยการลดการอ้างอิงตัวชี้โดยใช้ตัวดำเนินการ * และเรายังสามารถแก้ไขค่าโดยใช้ตัวดำเนินการเดียวกัน:
บันทึก: การใช้พอยน์เตอร์ใน C# จำเป็นต้องได้รับการเอาใจใส่เป็นพิเศษเพื่อหลีกเลี่ยงปัญหาการจัดการหน่วยความจำ ดังนั้นควรใช้พอยน์เตอร์เมื่อจำเป็นและด้วยความระมัดระวังเท่านั้น
บทสรุป
มีข้อมูลประเภทต่างๆ มากมายใน C# ซึ่งสามารถนำไปใช้กับงานต่างๆ ได้ ข้อมูลจำนวนน้อยจะถูกจัดเก็บโดยใช้ประเภทข้อมูลค่า และจำนวนที่มากขึ้นจะถูกจัดเก็บโดยใช้ประเภทข้อมูลอ้างอิง ชนิดข้อมูลตัวชี้ใช้ในการเขียนโปรแกรมระดับต่ำและไม่ได้ใช้ทั่วไปใน C#