تبلیغات

آرایه های Jagged در سی شارپ (Jagged Arrays)

Jagged در لغت به معنای «زنجیر»، «دندانه‌دار»، «ناهموار» و «مضرس» می‌باشد؛ و در سی‌شارپ، یک آرایه‌ی Jagged، آرایه‌ایست که المنت‌ها یا عناصر آن نیز یک آرایه هستند! عناصر یک آرایه‌ی Jagged، می‌توانند در ابعاد و سایزهای مختلفی باشند. نام دیگر آرایه‌های Jagged در برنامه‌نویسی، array of arrays (آرایه‌ای از آرایه‌ها) می‌باشد. در مثال‌های زیر، با نحوه‌ی تعریف، مقداردهی و دسترسی به آرایه‌های Jagged آشنا می‌شوید.

شروع به کار

در اینجا یک آرایه‌ی تک بعدی داریم که سه عنصر خواهد داشت؛ و هرکدام از آنها نیز یک آرایه‌ی تک بعدی از integer ها خواهند بود.

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

همانطور که می‌بینید، هرکدام از عناصر یک آرایه‌ی تک بعدی از اعداد صحیح هستند.

  • عنصر اول، آرایه‌ای از اعداد صحیح با طول 5 می‌باشد.
  • عنصر دوم، آرایه‌ای از اعداد صحیح با طول 4 ومی‌باشد.
  • عنصر سوم، آرایه‌ای از اعداد صحیح با طول 2 می‌باشد.

می‌توانستیم هر عنصر را به صورت زیر نیز مقداردهی کنیم و در اینجا دیگر نیازی به مشخص کردن طول (اندازه) آرایه نخواهد بود:

و البته می‌توانستیم در همان جایی که آرایه را تعریف کردیم، به صورت زیر عمل کنیم:

و جالب‌تر از همه اینکه می‌توانیم حتی new را نیز حذف کنیم و به صورت فرم کوتاه زیر بنویسیم:

نکته
همانطور که گفته شد، یک آرایه‌ی jagged، آرایه‌ای از آرایه‌ها می‌باشد! بنابراین، عناصر آن از نوع مرجع (reference type) هستند و مقدار پیشفرضشان null خواهد بود.


به صورت زیر می‌توان به عناصر دسترسی داشت و مقدار آنها را تغییر داد:

ترکیب آرایه‌های jagged و چندبعدی

در این مثال، یک آرایه‌ی تک بعدی jagged داریم که عناصر آن، دوبعدی خواهند بود! به این معنا که ما آرایه‌ای نک بعدی از آرایه‌های دوبعدی داریم!

و حالا می‌توان به صورت دستی به آن دسترسی داشت:

در اینجا، عنصر [1,0] از آرایه‌ی اول را چاپ کرده‌ایم!


طبیعتا می‌توان از متدها و سایرمواردی که آرایه‌های دیگر دارند، در Jagged ها نیز استفاده کرد! برای مثال، از Length برای فهمیدن اینکه چند آرایه در داخل آرایه‌ی jagged وجود دارد به صور زیر استفاده می‌کنیم:

مثال نهایی

این مثال، یک آرایه‌ی jagged ایجاد می‌کند و هرکدام از عناصر آرایه، دارای اندازه‌های متفاوتی هستند:

Output
Element(0): 1 3 5 7 9
Element(1): 2 4 6 8

 

تبلیغات
0
کانال تلگرام فول کده
تبلیغات

درباره نویسنده

هادی اکبرزاده

[ مدیر فول کده ]

علاقه‌مند به اشتراک گذاری اطلاعات در هر زمینه‌ای / برنامه‌نویس

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نظرات ثبت شده بدون دیدگاه