การอนุมานชนิดตัวแปรภายในด้วย var
ใช้ var เมื่อชนิดข้อมูลชัดเจนอยู่แล้ว
การอนุมานชนิดตัวแปรภายในด้วย var เป็นบทเรียน C# Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C# Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน
การอนุมานชนิดตัวแปรคืออะไร
var ทำให้คอมไพเลอร์อนุมานชนิดของตัวแปรภายในจากค่าที่ใช้กำหนดค่าเริ่มต้น ตัวแปรยังคงมีชนิดที่ตรวจสอบได้อย่างเข้มงวดขณะคอมไพล์
using System;
class Program {
static void Main() {
var count = 10;
Console.WriteLine(count);
}
}การอนุมานชนิดตัวแปรไม่ใช่ dynamic
var จะถูกกำหนดชนิดขณะคอมไพล์ var x = 10 จึงเป็น int อย่างแน่นอน และภายหลังจะเก็บสตริงไม่ได้
using System;
class Program {
static void Main() {
var name = "Ada";
Console.WriteLine(name.GetType().Name);
}
}การอนุมานจากค่าตามตัวอักษร
คอมไพเลอร์อ่านค่าตามตัวอักษรเพื่อเลือกชนิด: 1 เป็น int, 1.5 เป็น double และ "hi" เป็นสตริง
using System;
class Program {
static void Main() {
var a = 1;
var b = 1.5;
var c = "hi";
Console.WriteLine(a.GetType().Name + " " + b.GetType().Name + " " + c.GetType().Name);
}
}ต้องมีค่ากำหนดเริ่มต้น
เนื่องจากชนิดมาจากค่าที่ใช้กำหนดค่าเริ่มต้น ตัวแปร var จึงต้องได้รับการกำหนดค่าเมื่อประกาศ
using System;
class Program {
static void Main() {
var total = 0;
for (int i = 1; i <= 4; i++) total += i;
Console.WriteLine(total);
}
}การอนุมานชนิดตัวแปรกับชนิดที่เห็นได้ชัด
var มีประโยชน์มากเมื่อด้านขวาระบุชนิดไว้อยู่แล้ว เช่น การเรียกตัวสร้าง ช่วยหลีกเลี่ยงการเขียนซ้ำ
using System;
using System.Collections.Generic;
class Program {
static void Main() {
var list = new List<int> { 1, 2, 3 };
Console.WriteLine(list.Count);
}
}การอนุมานชนิดตัวแปรกับผลลัพธ์เมธอด
คุณสามารถใช้ var กับค่าที่เมธอดคืนได้ เมื่อชื่อเมธอดทำให้ชนิดชัดเจน
using System;
class Program {
static int Square(int n) { return n * n; }
static void Main() {
var result = Square(6);
Console.WriteLine(result);
}
}การอนุมานชนิดตัวแปรในลูปวนซ้ำ
var สะดวกเมื่อลูป foreach วนผ่านชุดข้อมูลที่ทราบชนิดของสมาชิก
using System;
class Program {
static void Main() {
var names = new[] { "Sam", "Lee" };
foreach (var n in names)
Console.WriteLine(n);
}
}อาร์เรย์ที่อนุมานชนิด
อาร์เรย์ที่ไม่ระบุชนิดอย่างชัดเจน new[] { ... } จะอนุมานชนิดของสมาชิกจากค่าเหล่านั้น
using System;
class Program {
static void Main() {
var nums = new[] { 10, 20, 30 };
Console.WriteLine(nums.Length);
}
}การอนุมานชนิดตัวแปรยังคงปลอดภัยด้านชนิด
เนื่องจากชนิดถูกกำหนดไว้แล้ว การกำหนดชนิดที่ไม่ถูกต้องในภายหลังจึงทำให้คอมไพล์ไม่ผ่าน เช่นเดียวกับการประกาศชนิดอย่างชัดเจน
using System;
class Program {
static void Main() {
var x = 5;
x = 10;
Console.WriteLine(x);
}
}การอนุมานชนิดตัวแปรกับชนิดไม่ระบุชื่อ
ต้องใช้ var กับชนิดไม่ระบุชื่อ เพราะชนิดเหล่านี้ไม่มีชื่อที่คุณเขียนระบุได้
using System;
class Program {
static void Main() {
var point = new { X = 3, Y = 4 };
Console.WriteLine(point.X + ", " + point.Y);
}
}ประโยชน์ด้านความอ่านง่าย
หากใช้อย่างเหมาะสม var จะลดสิ่งรบกวนและจัดแนวโค้ดให้เป็นระเบียบ โดยเฉพาะเมื่อชื่อชนิดแบบทั่วไปมีความยาวมาก
using System;
using System.Collections.Generic;
class Program {
static void Main() {
var scores = new Dictionary<string, int> { ["Ann"] = 90 };
Console.WriteLine(scores["Ann"]);
}
}ตรวจสอบความเข้าใจอย่างรวดเร็ว
ทดสอบความเข้าใจเรื่องการอนุมานชนิดตัวแปร
สรุปทบทวน
var บอกให้คอมไพเลอร์อนุมานชนิดของตัวแปรภายในจากค่าที่ใช้กำหนดค่าเริ่มต้น ตัวแปรจึงยังคงมีชนิดที่ตรวจสอบได้อย่างเข้มงวดและคงที่ขณะคอมไพล์ ต่างจาก dynamic
จำเป็นต้องมีค่ากำหนดเริ่มต้น ช่วยลบชื่อชนิดที่ซ้ำซ้อน และจำเป็นสำหรับชนิดไม่ระบุชื่อ ทั้งยังช่วยให้อ่านง่ายขึ้นเมื่อชนิดนั้นเห็นได้ชัดอยู่แล้ว
คำถามที่พบบ่อย
บทเรียน “การอนุมานชนิดตัวแปรภายในด้วย var” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การอนุมานชนิดตัวแปรภายในด้วย var” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C# Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การอนุมานชนิดตัวแปรภายในด้วย var”
ใช้ var เมื่อชนิดข้อมูลชัดเจนอยู่แล้ว คุณปฏิบัติ C# Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C# Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน C# Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “การอนุมานชนิดตัวแปรภายในด้วย var” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน C# Academy นี้ได้ไหม
ได้ บทเรียน C# Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การอนุมานชนิดตัวแปรภายในด้วย var
- กรณีที่ควรหลีกเลี่ยง var
- ชนิด dynamic
- นิพจน์ new ที่อนุมานชนิดจากเป้าหมาย