PDA

View Full Version : سوال: تعریف آرایه ای که در هر خانه اش چند خانه باشد



forodo
پنج شنبه 25 دی 1393, 21:03 عصر
سلام
چطور می تونم آرایه ای داشته باشم که داخل مثلاً خونه اولش 2 یا 3 خونه داشته باشه؟
یعنی داخل خونه اول :
name
value
یعنی داخل خونه دوم:
name
value
و
.
.
.
که وقتی خواستم از استفاده کنم بگم اگر name برابر با چیزی بود value همون index رو بگیر.

sajadsobh
پنج شنبه 25 دی 1393, 21:24 عصر
میخوام بدونم من درست متوجه شدم یا نه؟! مثلاً یه خونه هم مقدار CPU و هم مقدار Central Processing Unit بگیره، یه خونه VGA و Video Graphics Array رو بگیره. بعد مثلاً اگه زدیم CPU به ما Central Processing Unit رو برگردونه و وقتی زدیم VGA به ما Video Graphics Array رو برگردونه و الی آخر؟!

erfan_urchin
پنج شنبه 25 دی 1393, 21:29 عصر
این دیگه نمیشه از آرایه استفاده کرد و شما باید به ماتریس رو بیارید :لبخند:
اونم به این شکل
string[,] myMatrix = new string[3, 2];
myMatrix[0, 0] = "hosein";
myMatrix[0, 1] = "12";
if (myMatrix[0, 0] == "hosein")
MessageBox.Show(myMatrix[0, 1]);

تو این کد یه ماتریس ساخته میشه با 3ردیف و 2ستون
و بقیش هم همون چیزیه که خواستین اگه name برابر چیزی بود
value همون index رو بگیره
موفق باشید

forodo
پنج شنبه 25 دی 1393, 21:29 عصر
بله.
می تونم این کار رو با آرایه دوبعدی انجام بدم ولی برای تعریف آرایه باید حتماً تعداد خانه هایش را مشخص کنیم ولی تعداد خانه ها مشخص نیست.
ممکنه 10تا باشه یا ممکنه 20تا باشه یا بیشتر یا کمتر.

erfan_urchin
پنج شنبه 25 دی 1393, 21:36 عصر
آها اگه تعداد خونه هاش معلوم نیس دیگه از کدهایی که بالا نوشتم نمیشه استفاده کرد و بهتره از SortedList استفاده کنید
using System.Collections;
SortedList sl = new SortedList();
sl.Add("hosein", "12");
sl.Add("ali", "13");
MessageBox.Show(sl["ali"].ToString());

خروجی این کد نمایش عدد 13 توی messageBox هستش
موفق باشید

SabaSabouhi
پنج شنبه 25 دی 1393, 21:42 عصر
سلام
این کار امکان‌پذیره، اما به نوعی دیگه قدیمی شده.
این کارها مربوط به زبان‌هایی مثل C هست که خیلی از امکانات زبان‌های مدرن مثل #C رو نداشتن.

برای تولید چیزی که می‌خواین اولاً بجای آرایه بهتره از List یا Dictionary استفاده کنید
و دوم این که می‌تونید یک کلاس بگیرید که name و value داشته باشه که این کلاس عناصر آرایه، لیست یا Dictionary شما رو تشکیل بده.

صبا صبوحی

sajadsobh
پنج شنبه 25 دی 1393, 21:45 عصر
به نظر منم استفاده از Dictionary اینجا بهتر جواب میده.

مهرداد صفا
جمعه 26 دی 1393, 11:32 صبح
سلام.
می تونید از لیستی از Dictionary و یا Tuple و یا آرایه دندانه ای استفاده کنید.

forodo
جمعه 26 دی 1393, 12:37 عصر
با تشکر از همه دوستان.
از Dictionary استفاده کردم. (http://barnamenevis.org/showthread.php?482136-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%D8%B4%D8%AF%D9%86-%D8%AA%D9%85%D8%A7%D9%85-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%DA%A9%D9%86%D8%AA%D8%B1%D9%84%D9%87%D8%A7-%D8%AF%D8%B1-%D8%B5%D9%88%D8%B1%D8%AA-%D8%A7%D8%B1%D9%88%D8%B1-%D9%88-%D8%A8%D8%A7%D8%B2%DA%AF%D8%B1%D8%AF%D8%A7%D9%86%D B%8C-%D9%87%D9%85%D8%A7%D9%86-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%A8%D9%87-%D8%AF%D8%A7%D8%AE%D9%84-%DA%A9%D9%86%D8%AA%D8%B1%D9%84%D9%87%D8%A7&p=2161564&viewfull=1#post2161564)