PDA

View Full Version : مشکل در دسترسی به اندیسی درون لیست



hamed jalili
یک شنبه 20 آذر 1390, 20:48 عصر
با سلام ،
من در برنامه ام به ماتریسی با سایز متغیر نیاز دارم و به دلیل اینکه نمی توان مقادیر متغیر برای سایز های آرایه ها تعریف کرد ، من از روش زیر استفاده کردم





List<List<bool>> temp_Matrix = new List<List<bool>>();

List<bool> t = new List<bool>();

for (int x = 0; x < max_x; x++)
t.Add(false);

for (int y = 0; y < max_y; y++)
temp_Matrix.Add(t);



چه طور میتونم برای دسترسی به اندیسی درون این لیست از متغیر استفاده کنم ، البته روش زیر رو امتحان کردم .




temp_Matrix[y][x] = false; // NOT CORRECT

temp_Matrix[3][10] = false; // CORRECT

Amir Oveisi
دوشنبه 21 آذر 1390, 20:27 عصر
چه خطایی میده؟
من تست کردم مشکلی نداشت و نباید هم مشکلی داشته باشه.

hamed jalili
دوشنبه 21 آذر 1390, 22:38 عصر
میگه اندیس x,y وجود نداره !!

کدی که با اون ماتریس رو ایجاد می کردم رو به صورت زیر تغییر دادم ، مشکل حل شد ، با اینکه اصولا نباید فرق می کرد ، چون درسته که هر اندیس x یک instance از t هست ، به این معنی که هر تغییری در هر کدام از اندیس ها ، در دیگری هم تاثیر خواهد گذاشت ؛ ولی به نظر من این اصلا ربطی به آدرس اندیس نداره !!
در هر صورت مشکل من با اعمال تغییرات زیر حل شد ، از شما هم بابت تست کردنتون ممنونم .



for (int y = 0; y < max_y; y++)
{
List<bool> t = new List<bool>();
for (int x = 0; x < max_x; x++)
t.Add(false);
temp_Matrix.Add(t);
}