فهرست سرفصل‌های #C
خانه (HOME) مقدمه (Intro) شروع کار (Get Started) سینتکس (Syntax) خروجی (Output) کامنت ها (Comments) متغیرها (Variables) ثابت ها (Constants) نمایش متغیرها (Display Variables) متغیرهای متعدد (Multiple Variables) شناسه ها (Identifiers) انواع داده (Data Types) تبدیل نوع (Type Casting) ورودی کاربر (User Input) عملگرها (Operators) انتساب (Assignment) مقایسه (Comparison) منطقی (Logical) ریاضی (Math) رشته ها (Strings) اتصال رشته ها (Concatenation) درون گذاری رشته (Interpolation) دسترسی به رشته ها (Access Strings) کاراکترهای ویژه (Special Characters) بولی ها (Booleans) if (If...Else) else (If...Else) else if (If...Else) شکل کوتاه if..else (Short hand if..else) سوئیچ (Switch) حلقه while (While Loop) حلقه for (For Loop) حلقه foreach (Foreach loop) شکستن/ادامه (Break/Continue) آرایه ها (Arrays) حلقه روی آرایه (Loop through an array) مرتب سازی آرایه ها (Sort arrays) آرایه های چندبعدی (Multidimensional arrays) متدها (Methods) پارامترها (Parameters) پارامتر پیش فرض (Default Parameter) مقادیر بازگشتی (Return Values) آرگومان های نام دار (Named Arguments) بارگذاری متد (Method Overloading) شیء گرایی (OOP) کلاس ها/اشیا (Classes/Objects) چند شیء (Multiple Objects) اعضای کلاس (Class Members) سازنده ها (Constructors) قیدهای دسترسی (Access Modifiers) ویژگی ها (Properties) وراثت (Inheritance) چندریختی (Polymorphism) انتزاع (Abstraction) اینترفیس (Interface) چند اینترفیس (Multiple Interfaces) شمارش ها (Enums) فایل ها (Files) استثناها (Exceptions) افزودن دو عدد (Add Two Numbers) نمونه ها (Examples)
#C

#C — آرایه های چندبعدی (Multidimensional arrays)

آخرین بروزرسانی: 1404/08/05

آرایه های چندبعدی (Multidimensional arrays)

اینجا با «آرایه های چندبعدی (Multidimensional Arrays)» آشنا می شویم. آرایه (Array) یعنی جعبه ای با چند خانه. وقتی چند ردیف و ستون داریم، می شود چندبعدی. مثل جدول نمره ها در مدرسه. با این ساختار، داده ها منظم تر می شوند.

آرایه دوبعدی یعنی چی؟

آرایه دوبعدی مثل جدول است. ردیف داریم و ستون داریم. عنصر (Element) یعنی یک خانه از جدول. اندیس (Index) عدد جای عنصر است. اندیس ها از صفر شروع می شوند.

ساخت یک آرایه دوبعدی

int[,] numbers = { { 1, 4, 2 }, { 3, 6, 8 } };

مشاهده در ادیتور

نکته: علامت [,] یعنی دوبعدی است. برای سه بعدی از [,,] استفاده می شود.

دسترسی به عناصر در آرایه دوبعدی

برای دسترسی، دو اندیس می دهیم: اول ردیف، بعد ستون. مثل جدول نمره ها: اول ردیف دانش آموز، بعد ستون درس.

int[,] numbers = { { 1, 4, 2 }, { 3, 6, 8 } };
Console.WriteLine(numbers[0, 2]);

مشاهده در ادیتور

نکته: اندیس از صفر شروع می شود. پس ردیفِ اول، اندیس صفر است.

تغییر مقدار یک خانه

می خواهیم مقدار خانه ردیفِ اول و ستونِ اول را عوض کنیم.

int[,] numbers = { { 1, 4, 2 }, { 3, 6, 8 } };
numbers[0, 0] = 5;
Console.WriteLine(numbers[0, 0]);

مشاهده در ادیتور

پیمایش آرایه دوبعدی

با foreach همه خانه ها را یکی یکی می خوانیم. مثل قدم زدن روی همه مربع های جدول.

int[,] numbers = { { 1, 4, 2 }, { 3, 6, 8 } };
foreach (int i in numbers)
{
  Console.WriteLine(i);
}

مشاهده در ادیتور

پیمایش با for و شمارنده ها

اینجا از for توی for استفاده می کنیم. با GetLength(0) تعداد ردیف ها و با GetLength(1) تعداد ستون ها را می گیریم.

int[,] numbers = { { 1, 4, 2 }, { 3, 6, 8 } };
for (int i = 0; i < numbers.GetLength(0); i++)
{
  for (int j = 0; j < numbers.GetLength(1); j++)
  {
    Console.WriteLine(numbers[i, j]);
  }
}

مشاهده در ادیتور

گام های عملی سریع

  1. یک آرایه دوبعدی بساز. مثل جدول کوچک.
  2. با دو اندیس مقدار بخوان. اول ردیف، بعد ستون.
  3. یک مقدار را تغییر بده. نتیجه را چاپ کن.
  4. با foreach همه خانه ها را چاپ کن.
  5. با for تو در تو، جدول را کامل بگرد.

برای آشنایی با آرایه های معمولی، صفحه آرایه ها را ببین. سپس برای کار با توابع، به متدها برو. اگر تازه ای، مقاله آرایه های چندبعدی را هم کنار آن مطالعه کن.

جمع بندی سریع

  • آرایه دوبعدی مثل یک جدول است.
  • دسترسی با دو اندیس انجام می شود.
  • [,] یعنی دوبعدی بودن.
  • GetLength برای تعداد بُعدها مفید است.
  • foreach ساده است؛ for دقیق تر است.