0Pricing
C# Academy · บทเรียน

การอนุมานชนิดตัวแปรภายในด้วย 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การอนุมานชนิดตัวแปรภายในด้วย var
  2. กรณีที่ควรหลีกเลี่ยง var
  3. ชนิด dynamic
  4. นิพจน์ new ที่อนุมานชนิดจากเป้าหมาย
← กลับไปที่ C# Academy