آرایهها
string[] plants = { "leaf", "mint" }; دو کلمه را زیر یک نام نگه میدارد و Console.WriteLine(plants[0]) کلمهٔ leaf را مینویسد. صفحه یک خط است. mint روی آن خط نیست و خط دوم هم نیست. نام کلاس عمومی را Pine نگه دارید.
یک نام دو کلمه نگه میدارد
فایل Pine را باز کنید. نام کلاس Pine میماند. این صفحه نوع را عوض نام نمیکند. اگر خط string plant = null هنوز هست پاکش کنید. plant.Length را پاک کنید. اگر خط int count هنوز هست پاکش کنید، از جمله (int) و 40.0 و 40.9 و 40. اگر double weight هنوز هست پاکش کنید. اگر bool ripe هنوز هست پاکش کنید، از جمله true و false. هر خط ReadLine را هم پاک کنید. فایلی که نگه میدارید انتظار، count، weight، ripe و یک plant تنها که null نگه دارد ندارد. کلمه فقط با خط نوشتنی نوشته میشود که یک جایگاه را انتخاب میکند.
درون Main خط نگهداری string[] plants = { "leaf", "mint" }; است. string[] کلمهٔ نوع است. کروشهها بخشی از همان نوعاند. میگویند این نام میتواند بیش از یک کلمه نگه دارد. plants نام است و با p کوچک شروع میشود. علامت = نگه میدارد. آکولادها کلمهها را نگه میدارند. هر کلمه داخل گیومهٔ خودش است. یک ویرگول میان کلمههاست. leaf کلمهٔ اول است. mint کلمهٔ دوم است. سمیکالن خط را تمام میکند. این خط دو کلمه نگه میدارد. صفحه را نمینویسد. نگهداری، نوشتن نیست. تا پایان این خط صفحه خالی میماند. این دو کلمه عدد 0 نیستند و کلمهٔ null هم نیستند. چیزی زیر یک نام دوم بیرون از صفحه منتظر نمانده. هر دو کلمه زیر plants هستند.
کلمههایی که داخل آکولاد مینویسید همان جایگاهها هستند. دو کلمهٔ گیومهدار دو جایگاه میسازند. در فایلی که نگه میدارید کلمهٔ سومی نمینویسید. string[] plants = { "leaf", "mint", "stem" }; سه کلمه نگه میدارد. آن فایل مجاز است و فایل نگهداشته نیست. string[] plants = { leaf, mint }; مقدار leaf و mint را بهعنوان نام میخواند. این فایل آن نامها را ندارد. build خطا مینویسد. string[] plants = { "leaf" "mint" }; ویرگول ندارد. build خطا مینویسد. ویرگول همان چیزی است که دو کلمه را جدا میکند. string[] plants = { 40, 9 }; از این نوع میخواهد عدد صحیح نگه دارد. کلمههای فایلی که نگه میدارید leaf و mint هستند، نه رقم. build خطا مینویسد. کلمهٔ نوع بههمراه کروشهها، روی این صفحه، کلمههای داخل گیومه را نگه میدارد.
خط نوشتن یک جایگاه را انتخاب میکند: Console.WriteLine(plants[0]);. کروشههای بعد از نام یک شماره نگه میدارند. آن شماره 0 است. جایگاه 0 کلمهٔ اول است، چون شمارش جایگاهها از 0 شروع میشود، نه از 1. دور 0 گیومه نیست. نقطه نیست و Length هم نیست. C# نام plants را میخواند، شمارهٔ 0 را میخواند، کلمهٔ آن جایگاه را مینویسد، و خط را تمام میکند. برای فایلی که نگه میدارید آن کلمه leaf است. حرفهای خود نام، p و l و a و n و t و s، روی صفحه نیستند. string روی صفحه نیست. آکولادها روی صفحه نیستند. ویرگول روی صفحه نیست. mint روی صفحه نیست. کلمهٔ leaf روی صفحه است، یک خط. فایل را ذخیره کنید.
فایلی که نگه میدارید
این شکل آموزشی را نگه دارید. یک کلمهٔ نوع، string[]. یک نام، plants. دو کلمه داخل آکولاد، اول leaf و بعد mint، هر کدام داخل گیومه، با یک ویرگول میانشان. یک خط نوشتن، و آن خط جایگاه 0 را انتخاب میکند. Length نیست و خط نوشتن دوم هم نیست.
using System;
public class Pine
{
public static void Main()
{
string[] plants = { "leaf", "mint" };
Console.WriteLine(plants[0]);
}
}
از بالا بخوانید. using System; نامهای کوتاه را آماده میکند. public class Pine نوع را نام میگذارد. public static void Main() جایی است که runtime شروع میکند. خط نگهداری string[] plants = { "leaf", "mint" }; است. چیزی نمینویسد. Console.WriteLine(plants[0]); کلمهٔ leaf را مینویسد و خط را تمام میکند. یک خط روی صفحه. بدون خط دوم. در فایلی که نگه میدارید خط int نیست و خطی که null نگه دارد هم نیست.
با dotnet run اجرا کنید. برنامه leaf مینویسد. منتظر تایپ شما نمیماند. کلمهها پیش از اجرا داخل فایل بودند. اگر dotnet run منتظر بماند، هنوز ReadLine در فایل است. آن خط را پاک کنید و string[] plants = { "leaf", "mint" }; و یک خط نوشتن را نگه دارید. برنامه بعد از خط نوشتن تمام میشود. صفحه leaf نشان میدهد. یک خط. اگر صفحه mint نشان دهد، خط نوشتن جایگاه 1 را برداشته یا اولین کلمه در آکولاد mint است. به فایل نگاه کنید. فایلی که نگه میدارید اول leaf دارد و روی خط نوشتن plants[0]. اگر صفحه plant نشان دهد، خط نوشتن دور نام دیگری گیومه دارد. اگر صفحه حرفهای plants[0] را نشان دهد، خط نوشتن دور آن حرفها گیومه دارد: Console.WriteLine("plants[0]");. آن گیومهها حرفاند، پس کلمهٔ نگهداشته نوشته نمیشود. اگر صفحه null نشان دهد، فایل null هنوز جاست یا جایگاهها بدون کلمه در آکولاد ساخته شدهاند. فایلی که نگه میدارید داخل آکولاد leaf و mint دارد. اگر صفحه 40 یا 40.0 یا 4 نشان دهد، فایل تبدیل یا عددها یا پرسش Length هنوز جاست. آن خط را پاک کنید. اگر صفحه true یا false نشان دهد، ripe هنوز در فایل است. اگر صفحه یک خط خالی نشان دهد و نه کلمهٔ leaf، هنوز گیومهٔ خالی در خط نگهداری هست. آن فایل نگهداشته نیست. برای صفحهای که خط غلط نشان میدهد دوباره .NET SDK را نصب نمیکنید.
صفحهای که leaf نشان میدهد، بهتنهایی کروشهها را ثابت نمیکند. string plant = "leaf"; هم leaf مینویسد. صفحه میتواند یکسان به نظر برسد. فایل یکسان نیست. فایلی که نگه میدارید string[] دارد، آکولاد دارد، ویرگول دارد، و خط نوشتن plants[0] دارد. وقتی این صفحه را قضاوت میکنید، دنبال کروشه روی کلمهٔ نوع بگردید و دنبال شمارهٔ 0. فایل را فقط از روی صفحه قضاوت نکنید.
کلمهٔ دیگر در جایگاه ۱ است
کلمهٔ دوم در فایل است و خط نوشتن نگهداشته آن را نمینویسد. برای دیدن mint، شماره داخل کروشه 1 است. جایگاه 1 کلمهٔ دوم است، چون جایگاه 0 اول بود. این اجرا مجاز است و فایل نگهداشته نیست.
using System;
public class Pine
{
public static void Main()
{
string[] plants = { "leaf", "mint" };
Console.WriteLine(plants[1]);
}
}
با dotnet run اجرا کنید. صفحه mint نشان میدهد. یک خط. leaf روی آن خط نیست. خط نگهداری عوض نشده. فقط شماره داخل کروشه عوض شده. 1 یعنی «کلمهٔ اول» نیست. کلمهٔ اول هنوز leaf است، در جایگاه 0. بعد از دیدن mint، plants[0] را برگردانید. فایلی که نگه میدارید leaf مینویسد.
📊 شماره داخل کروشه و صفحه
| شماره | صفحه |
|---|---|
0 |
leaf |
1 |
mint |
2 |
اجرا خطا مینویسد |
string plants = { "leaf", "mint" }; |
build خطا مینویسد |
جدول را در برابر یک اجرا بخوانید، نه بهجای اجرا. برای 0، build خطا نمینویسد و dotnet run مقدار leaf مینویسد. برای 1، build خطا نمینویسد و dotnet run مقدار mint مینویسد. برای 2، build خطا نمینویسد و اجرا خطا مینویسد، چون آن جایگاه در آکولاد نبود. برای string plants = { "leaf", "mint" }; بدون کروشه روی کلمهٔ نوع، build خطا مینویسد، پس اجرا نمیکنید. بعد از هر بررسی، فایل نگهداشته را برگردانید: string[]، آکولاد، اول leaf بعد mint، و plants[0]. صفحهٔ نگهداشته leaf است، یک خط.
نام باید پیش از خطی که از آن استفاده میکند وجود داشته باشد. اگر Console.WriteLine(plants[0]); بالای خط نگهداری نوشته شود، build خطا مینویسد. خط نگهداری را بالای خط نوشتن بگذارید. برای همان نام، string[] را بار دوم ننویسید. خط بعدی میتواند بدون نوشتن دوبارهٔ string[] یک کلمه را عوض کند، وقتی plants از قبل هست: plants[0] = "stem";. آن خط فقط کلمهٔ جایگاه 0 را عوض میکند. جایگاه 1 هنوز mint نگه میدارد. مجاز است. فایل نگهداشته نیست. فایلی که نگه میدارید یک خط نگهداری دارد و آن خط میگوید اول leaf بعد mint.
string[] plants; بدون آکولاد و بدون کلمه، و بعد خط نوشتن، باعث میشود build خطا بنویسد. نام بهعنوان نوع وجود میداشت و هنوز کلمهای نگه نمیداشت. آکولادها را روی خط ساخت بگذارید، همانطور که در فایل نگهداشته هست. string[] plants = { "leaf" }; یک کلمه نگه میدارد. plants[0] مینویسد leaf. plants[1] جایگاهی است که ننوشتهاید، پس بعد از ساکت ماندن build، اجرا خطا مینویسد. آن فایل تککلمه فایل نگهداشته نیست. نبود فاصله نوع را خراب نمیکند: string[]plants هنوز دو کلمه را نگه میدارد و build خطا نمینویسد. فایلی که نگه میدارید بعد از string[] فاصله دارد. string [] plants با فاصله پیش از plants هنوز دو کلمه را نگه میدارد. plants[ 0 ] با فاصله داخل کروشه هنوز leaf مینویسد. فایلی که نگه میدارید فاصلهٔ اضافه ندارد، ولی آن فاصله مقدار دوم نیست.
آکولاد پرانتز نیست. string[] plants = ( "leaf", "mint" ); باعث میشود build خطا بنویسد. کلمهها داخل آکولادند، { و }، نه داخل ( و ). خط نوشتن فراخوانی با پرانتز دور شماره نیست. Console.WriteLine(plants(0)); باعث میشود build خطا بنویسد. شماره داخل کروشه است، [ و ]. نام plants میماند، با p کوچک. string[] Plants با P بزرگ نام دیگری است. میتواند کلمهها را نگه دارد و نام فایل نگهداشته نیست. p کوچک را برگردانید.
ویرگول بعد از آخرین کلمه جایگاه اضافه نمیکند. string[] plants = { "leaf", "mint", }; هنوز دو کلمه نگه میدارد. build خطا نمینویسد. plants[0] هنوز leaf مینویسد و plants[1] هنوز mint. کلمهٔ سوم نیست. فایلی که نگه میدارید بعد از mint ویرگول ندارد، ولی آن ویرگول اضافه مقدار سوم نیست. new لازم نیست. string[] plants = new string[] { "leaf", "mint" }; هم دو کلمه را نگه میدارد و plants[0] هنوز leaf مینویسد. فایلی که نگه میدارید new نمینویسد. string[] plants = new string[2]; دو جایگاه میسازد و داخلشان کلمهای نمیگذارد. آنوقت plants[0] مقدار null مینویسد. آن جایگاهها حرف نگه نمیدارند. فایل نگهداشته نیست. کلمههای leaf و mint باید داخل آکولاد بنشینند.
جایگاهی که ننوشتهاید
دو کلمه دو جایگاه میسازند، شمارههای 0 و 1. شمارهٔ 2 جایگاه سوم است. کلمهٔ سوم ننوشتهاید. فایل سوم آن جایگاه را میپرسد.
using System;
public class Pine
{
public static void Main()
{
string[] plants = { "leaf", "mint" };
Console.WriteLine(plants[2]);
}
}
این فایل سوم است. فایلی که نگه میدارید نیست. با dotnet run اجرا کنید. build میتواند ساکت بماند، چون این خطها اجازه دارند در فایل باشند. شمارهٔ 2 باعث خطای build نمیشود. برنامه leaf نمینویسد، mint نمینویسد، 2 نمینویسد، و null هم نمینویسد. اجرا خطا مینویسد. لازم نیست متن دقیق آن خطا را بدانید. آکولاد دو کلمه نگه داشته، پس کلمهٔ سومی برای نوشتن نیست. plants[-1] راه برداشتن آخرین کلمه نیست. build خطا نمینویسد و اجرا خطا مینویسد. شمارههایی که با فایل نگهداشته جورند فقط 0 و 1اند. اگر صفحه mint نشان دهد، شماره داخل کروشه 1 است و کلمهٔ دوم هنوز هست. بعد از دیدن خطا، فایل نگهداشته را برگردانید.
نامی که هیچ جایگاهی نگه ندارد شکست دیگری است و صفحه کلمهٔ null نیست. string[] plants = null; هیچ جایگاهی نگه نمیدارد. build خطا نمینویسد. بعد Console.WriteLine(plants[0]); باعث میشود اجرا خطا بنویسد. null نمینویسد و leaf هم نمینویسد. کروشه روی خط نوشتن جایگاه میخواهد و این نام جایگاهی ندارد. آن فایل نگهداشته نیست. فایلی که نگه میدارید آکولاد دارد و آکولاد leaf و mint نگه میدارد.
حالا میتوانید دو کلمه را زیر یک نام نگه دارید و کلمهٔ اول را بنویسید. string[] plants = { "leaf", "mint" }; مقدار leaf و mint را نگه میدارد. Console.WriteLine(plants[0]); مقدار leaf را مینویسد و خط را تمام میکند. plants[1] مقدار mint مینویسد و فایل نگهداشته نیست. plants[2] میگذارد build ساکت بماند و باعث میشود اجرا خطا بنویسد. نام string بدون کروشه نمیتواند آکولاد را نگه دارد. صفحهٔ بعد این کروشهها را کنار میگذارد. به علامتی نگاه میکند که میان دو عدد صحیح نوشته میشود.
صفحه همان کلمهٔ اول است
فایلی که نگه میدارید leaf مینویسد. نام روی خط نوشتن plants است و plants روی صفحه نیست. شماره داخل کروشه 0 است. mint کلمهٔ دوم است و در فایل میماند در حالی که صفحه leaf نشان میدهد. شمارهٔ جایگاهی که ننوشتهاید فایل نگهداشته نیست. گیومه دور plants[0] حرف مینویسد، نه کلمهٔ داخل جایگاه.
🧠 دانش خود را بیازمایید
دانش خود را بیازمایید
خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کردهاید
📝 دستورالعملها
- هر سوال را با دقت بخوانید
- بهترین پاسخ را برای هر سوال انتخاب کنید
- میتوانید آزمون را هر چند بار که میخواهید تکرار کنید
- پیشرفت شما در بالا نمایش داده میشود