تکنیکهای var و مقداردهی اولیه
کدنویسی فقط کار کردن کد نیست؛ زیبا، خوانا و مدرن بودنش هم مهمه. تو #C راههای زیادی برای خلاصهنویسی و تمیزتر کردن کد وجود داره.
امروز میخوایم چند تا از بهترین تکنیکها برای تعریف و مقداردهی آرایهها رو یاد بگیریم که کد شما رو یه لول بالاتر میبره.
1️⃣روش اول:
حذف اضافات در مقداردهی اولیه ✂️
وقتی میخواید یه آرایه رو همزمان با تعریفش مقداردهی کنید، نیازی نیست همیشه از new و نوع داده کامل استفاده کنید. میتونید اونها رو حذف کنید تا کدتون خلاصهتر بشه:
// به جای: new char[] {'a','e','i','o','u'}
char[] vowels = {'a','e','i','o','u'};
// این روش برای آرایههای چندبعدی هم کار میکنه
int[,] rectangularMatrix =
{
{0,1,2},
{3,4,5},
{6,7,8}
};2️⃣ورود var:
قدرت استنتاج نوع (Type Inference) 🤖
کلمه کلیدی var به کامپایلر میگه: "من نوع این متغیر رو نمینویسم، خودت از روی مقداری که بهش میدم، نوعش رو تشخیص بده!".
این قابلیت کد رو خیلی کوتاهتر میکنه و برخلاف جاوااسکریپت، متغیر شما هنوز هم Strongly-Typed هست؛ یعنی نوعش در زمان کامپایل مشخص و ثابت میشه.
// کامپایلر میفهمه که i از نوع int هست
var i = 10;
// کامپایلر میفهمه که name از نوع string هست
var name = "#C Geeks";
3️⃣ترکیب طلایی:
var + مقداردهی اولیه آرایه 🏆
حالا میتونیم این دو قابلیت رو با هم ترکیب کنیم تا به مدرنترین و تمیزترین روش برای تعریف آرایه برسیم.
وقتی از var استفاده میکنید، باید کلمه new رو بیارید، ولی دیگه لازم نیست نوع آرایه رو مشخص کنید. کامپایلر خودش از روی عناصر داخل آکولاد، نوع آرایه رو تشخیص میده.
// کامپایلر از روی عناصر، نوع char[] رو استنتاج میکنه
var vowels = new[] {'a','e','i','o','u'};
// برای آرایههای چندبعدی هم به همین شکل
var matrix = new[,]
{
{0,1,2},
{3,4,5}
};
نکته حرفهای: اگه عناصر آرایه از چند نوع عددی مختلف باشن، کامپایلر سعی میکنه "بهترین نوعی" که همه عناصر بهش قابل تبدیل هستن رو پیدا کنه:
// اینجا ۱ یک int و دومی یک long است.
// کامپایلر نوع long[] رو برای کل آرایه انتخاب میکنه
var numbers = new[] {1, 10_000_000_000L};
🤔 حرف حساب و استایل شما
استفاده از var و این تکنیکهای خلاصهنویسی، کد شما رو مدرنتر و خواناتر میکنه، هرچند بعضی برنامهنویسها هنوز ترجیح میدن نوع رو به صورت صریح بنویسن تا خوانایی در نگاه اول بیشتر باشه.
شما تو کدهاتون چقدر از var استفاده میکنید؟ آیا طرفدارش هستید یا ترجیح میدید همیشه نوع متغیر رو به صورت صریح مشخص کنید؟ دلیلش چیه؟
نظراتتون رو کامنت کنید! 👇
[@CSharpGeeksChat]
🔖 هشتگها :
#CSharp
#Var
#CodingTips
#CleanCode