آرایه ها در سی شارپ :

هنگامی آرایه ها ایجاد می شوند که بخواهیم با مجموعه ای از اطلاعات همجنس کار کنیم. برای نمونه از یک آرایه برای ذخیره تعدادی کاراکتر می خواهیم استفاده نماییم. آرایه ها هم یک نوع متغیر هستند پس باید تعریف و مقدار دهی اولیه شوند ، نوع و تعداد اعضای آنها نیز باید معین گردد.
فرض کنید 10 داده ی هم جنس داریم ( برای مثال رشته (string) ) و می خواهیم آنها را ذخیره کنیم. یا می توان 10 متغیر مختلف را تعریف کرد و سپس تک تک آنها را مقدار دهی نمود و یا یک آرایه تعریف نمود و سپس در خانه های مختلف آن این ده عضو را چید. این مطلب زمانی حائز اهمیت می شود که داده های همجنس و به نوعی مرتبط ما تعداد زیادی داشته باشند.

برای تعریف آرایه چندین راه مختلف وجود دارد :
برای تعریف آرایه ابتدا نوع آنرا مشخص می کنید سپس [] را باید جلوی تعریف نوع بگذارید این دستور زبان است و چون چرا ندارد! در زبان سی کمی متفاوت بود. این کروشه ها بعد از نام متغیر می آمدند. و سپس در اینجا نام یک متغیر را که بعدا به آن ارجا می دهیم خواهید گذاشت. برای مثال



کد:
int[] table; // not int table[];
حد پایین آرایه صفر بوده برای مثال اگر آرایه chrData[] ده عضو داشته باشد، اولین عضو آن chrData[0] و آخرین عضو آن chrData[9] است.
مطلب دیگری که در مورد آرایه ها خیلی مهم است اندازه ی آن است. یعنی یک آرایه حاوی چند خانه ی خالی است که ما اجازه داریم آنرا پر کنیم. مثال :



کد:
int[] numbers; // declare numbers as an int array of any size
numbers = new int[10];  // numbers is a 10-element array
numbers = new int[20];  // now it's a 20-element array
1- تعریف آرایه ای از رشته ها و مقدار دهی اولیه آن.



کد:
String[] strData = new string[2];
2- تعریف و مقدار دهی اولیه



کد:
string [] strData = { "1234","abcd" };
که آرایه ای از نوع رشته ای به طول 2 عضو با مقدار دهی اولیه ایجاد شده است. در این حالت نیازی به تعیین طول آن نمی باشد.

3- روشی دیگر برای مقدار دهی اولیه



کد:
strData[0] = "1234";
strData[1] = "abcd";
مثال : یک پروژه ی جدید Console سی شارپ را باز کنید و نام آنرا در ابتدا ex06 بگذارید. در این مثال می خواهیم نحوه ی کار با آرایه ها را مرور کنیم :




کد:
using System;

namespace ex06
{
	class Class1
	{
		[STAThread]
		static void Main(string[] args)
		{
			string[] sGoalList = new string[3];
			string sReplyStatement = "You have choosen Goal '";

			// Store goals in the array
			sGoalList[0] = "Hike the Appalachian Trail";
			sGoalList[1] = "Run the marathon";
			sGoalList[2] = "Give $1 million to worthwhile causes";

			// Store response to goals in the array 
			//(declaring and initializing on same line)
			string[] sGoalResponse = {
                     "If you are staring from GA, you should get  "
			 + "started in early spring, so you will "+ 
                     "not get caught in snow.", 
	      	   "Make sure that you have a good pair of shoes.", 
      		   "Start saving as soon as possible."};

			// Give the user a list of goals to choose from
			Console.WriteLine("GOAL LIST");

			for(int i = 0; i < sGoalList.Length; i++)
			{
				Console.WriteLine("Goal " + i +
					              " - " + sGoalList[i]);
			}

			
			// Request the user to choose a goal.
			Console.WriteLine (""); // Write an empty line for space
			Console.Write("Please choose the number of the " 
				+ "goal that you want to achieve [0,1,2]: ");

			Console.ReadLine(); 
			
		}
	}
}
نکاتی در مورد کد فوق :
1- نحوه ی استفاده از عملگر + را برای اتصال رشته های بلند در کد فوق می توان دید.
2- در سی شارپ پایان خط سمی کولون می باشد. بنابراین نگرانی در مورد چند خطی شدن یک دستور وجود ندارد.
3- هنگامی که آرایه ای را با مقادیر درون آکولادها ، مقدار دهی اولیه می کنید لزومی ندارد طول آن آرایه را مشخص کنید ؛ مانند آرایه sGoalResponse در بالا. در غیر اینصورت حتما باید طول یک آرایه را که معرف تعداد خانه های خالی آن است ، معرفی کنید مانند آرایه sGoalList .
4- فعلا حلقه ی for را در این مثال بخاطر داشته باشید تا در مقاله ی بعدی راجع به آن صحبت کنیم.