กรณีที่ควรหลีกเลี่ยง var
ทำให้โค้ดอ่านง่ายด้วยการระบุชนิดข้อมูลอย่างชัดเจนเมื่อจำเป็น
กรณีที่ควรหลีกเลี่ยง var เป็นบทเรียน C# Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C# Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน
การอนุมานชนิดตัวแปรอาจซ่อนชนิดไว้
var สะดวก แต่สามารถบดบังชนิดที่แท้จริงของตัวแปร ทำให้ผู้อ่านคนถัดไปอ่านโค้ดได้ยากขึ้น
using System;
class Program {
static void Main() {
var x = Compute();
Console.WriteLine(x);
}
static int Compute() { return 42; }
}ผลลัพธ์เมธอดที่ไม่ชัดเจน
เมื่อชื่อเมธอดไม่เปิดเผยชนิดผลลัพธ์ ให้เลือกใช้ชนิดที่ระบุอย่างชัดเจน เพื่อให้ผู้อ่านทราบว่าค่าที่ได้รับมีชนิดใด
using System;
class Program {
static double Process() { return 3.14; }
static void Main() {
double value = Process();
Console.WriteLine(value);
}
}ความประหลาดใจเกี่ยวกับชนิดตัวเลข
var sum = 0 เป็น int หากคุณคาดว่าจะได้ double เรื่องนี้อาจทำให้เกิดข้อผิดพลาดจากการหารจำนวนเต็ม
using System;
class Program {
static void Main() {
double sum = 0;
sum += 7 / 2.0;
Console.WriteLine(sum);
}
}ระบุชนิดอย่างชัดเจนสำหรับอินเทอร์เฟซ
หากต้องการเขียนโปรแกรมโดยอิงกับอินเทอร์เฟซ ให้ประกาศอินเทอร์เฟซนั้นอย่างชัดเจน เพราะ var จะเลือกชนิดรูปธรรมแทน
using System;
using System.Collections.Generic;
class Program {
static void Main() {
IList<int> items = new List<int> { 1, 2 };
Console.WriteLine(items.Count);
}
}ค่ากำหนดเริ่มต้นที่อยู่ไกล
เมื่อค่ากำหนดเริ่มต้นเป็นนิพจน์ยาวหรือนิพจน์ซ้อนกันหลายชั้น การระบุชนิดอย่างชัดเจนจะสื่อเจตนาได้ดีกว่า var
using System;
class Program {
static void Main() {
int finalScore = (10 + 5) * 2 - 3;
Console.WriteLine(finalScore);
}
}หลีกเลี่ยงเพื่อให้ชนิดพื้นฐานชัดเจน
หลายทีมเขียนชนิดพื้นฐานอย่างชัดเจนสำหรับชนิดข้อมูลพื้นฐานที่เรียบง่าย เพื่อให้เห็นชนิดตัวเลขที่ต้องการอย่างแน่นอน
using System;
class Program {
static void Main() {
long bigCount = 5000000000;
Console.WriteLine(bigCount);
}
}var ใช้เป็นฟิลด์ไม่ได้
var ใช้ได้เฉพาะกับตัวแปรภายในเท่านั้น ฟิลด์ พารามิเตอร์ และชนิดผลลัพธ์ต้องระบุอย่างชัดเจนเสมอ
using System;
class Program {
static int field = 100;
static void Main() {
Console.WriteLine(field);
}
}การอนุมานชนิดตัวเลขแบบผสม
โปรดระวัง: var avg = total / count ที่ใช้ int สองตัวจะยังคงเป็น int ทำให้เจตนาไม่ชัดเจนเมื่อคุณต้องการค่าทศนิยม
using System;
class Program {
static void Main() {
int total = 7, count = 2;
double avg = (double)total / count;
Console.WriteLine(avg);
}
}เมื่อแนวทางรูปแบบแตกต่างกัน
แนวทางบางแห่งแนะนำให้ใช้การอนุมานชนิดตัวแปรเฉพาะเมื่อชนิดเห็นได้ชัดจากด้านขวา การปฏิบัติตามกฎที่สม่ำเสมอช่วยทั้งทีมได้
using System;
class Program {
static void Main() {
var customer = new string("Ann"[0], 3);
Console.WriteLine(customer);
}
}สร้างสมดุลระหว่างความสะดวกและความชัดเจน
เป้าหมายคือโค้ดที่อ่านง่าย ใช้ var เมื่อช่วยให้โค้ดดีขึ้น และใช้ชนิดที่ระบุอย่างชัดเจนเมื่อช่วยให้เข้าใจได้ง่าย
using System;
using System.Collections.Generic;
class Program {
static void Main() {
var lookup = new Dictionary<int, string>();
int key = 1;
lookup[key] = "one";
Console.WriteLine(lookup[1]);
}
}กฎง่าย ๆ ที่ใช้ได้จริง
หากอ่านเพียงบรรทัดเดียวแล้วไม่สามารถบอกชนิดได้ ให้เขียนชนิดนั้นออกมา มิฉะนั้นใช้ var ได้
using System;
class Program {
static void Main() {
var greeting = "Hello";
decimal price = 19.99m;
Console.WriteLine(greeting + " " + price);
}
}ตรวจสอบความเข้าใจอย่างรวดเร็ว
ทดสอบการตัดสินใจของคุณว่าเมื่อใดควรหลีกเลี่ยงการอนุมานชนิดตัวแปร
สรุปทบทวน
หลีกเลี่ยง var เมื่อทำให้ชนิดสำคัญถูกซ่อนไว้ เมื่อชนิดตัวเลขมีความสำคัญ (int เทียบกับ double) เมื่อต้องการกำหนดเป้าหมายเป็นอินเทอร์เฟซ หรือเมื่อชื่อเมธอดไม่เปิดเผยชนิดผลลัพธ์
var ใช้ได้เฉพาะกับตัวแปรภายในเท่านั้น กฎที่ดีคือ หากดูจากบรรทัดเดียวแล้วยังไม่เห็นชนิด ให้เขียนชนิดนั้นอย่างชัดเจน
คำถามที่พบบ่อย
บทเรียน “กรณีที่ควรหลีกเลี่ยง var” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “กรณีที่ควรหลีกเลี่ยง var” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C# Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “กรณีที่ควรหลีกเลี่ยง var”
ทำให้โค้ดอ่านง่ายด้วยการระบุชนิดข้อมูลอย่างชัดเจนเมื่อจำเป็น คุณปฏิบัติ C# Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C# Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน C# Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “กรณีที่ควรหลีกเลี่ยง var” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน C# Academy นี้ได้ไหม
ได้ บทเรียน C# Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การอนุมานชนิดตัวแปรภายในด้วย var
- กรณีที่ควรหลีกเลี่ยง var
- ชนิด dynamic
- นิพจน์ new ที่อนุมานชนิดจากเป้าหมาย