PDA

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



labkhande90
شنبه 06 تیر 1394, 02:52 صبح
سلام خدمت دوستان گرامی
یه سوال شاید خیلی مبتدی دارم
اینکه توو سی شارپ چطور میشه به عناصر لیست پیوندی که با Arraylist تعریف کردیم دسترسی داشته باشیم
و روشون عملیات ریاضی و... انجام بدیم
مثلا جمع نظیر به نظیر عناصر دو لیست پیوندی مجزا

متاسفانه من فقط نحوه پیمایش رو با foreach بلدم

ممنون میشم اگه راهنمایی کنید

esafb52
شنبه 06 تیر 1394, 04:17 صبح
سلام دقیق متوجه نشدم ولی فکر کنم این کد بدردت بخوره

int[] array1 = { 25, 85, 95, 87,25,87,96,25,45 };
int[] array2 = { 250, 805, 905, 807,250,807,906,205,405,10 };
ArrayList testList1= new ArrayList(array1);
ArrayList testList2 = new ArrayList(array2);
int sum1 = 0;
for (int size = 0; size < testList1.Count; size++)
{
sum1 += Convert.ToInt32(testList1[size].ToString());
}
int sum2 = 0;
for (int size = 0; size < testList2.Count; size++)
{
sum2 += Convert.ToInt32(testList2[size].ToString());
}
int finalres = sum1 + sum2;
MessageBox.Show(finalres.ToString());

CrafteR
شنبه 06 تیر 1394, 10:23 صبح
سلام خدمت دوستان گرامی
یه سوال شاید خیلی مبتدی دارم
اینکه توو سی شارپ چطور میشه به عناصر لیست پیوندی که با Arraylist تعریف کردیم دسترسی داشته باشیم
و روشون عملیات ریاضی و... انجام بدیم
مثلا جمع نظیر به نظیر عناصر دو لیست پیوندی مجزا

متاسفانه من فقط نحوه پیمایش رو با foreach بلدم

ممنون میشم اگه راهنمایی کنید


ArrayList لیست پیوندی محسوب نمیشه، اگه دقیق تر سوال کنید میتونم بیشتر توضیح بدم.
یه نمونه از لیستی که لازم دارید و عملیاتی که میخواید انجام بشه مثال بزنید.

labkhande90
شنبه 06 تیر 1394, 12:13 عصر
سلام دقیق متوجه نشدم ولی فکر کنم این کد بدردت بخوره

int[] array1 = { 25, 85, 95, 87,25,87,96,25,45 };
int[] array2 = { 250, 805, 905, 807,250,807,906,205,405,10 };
ArrayList testList1= new ArrayList(array1);
ArrayList testList2 = new ArrayList(array2);
int sum1 = 0;
for (int size = 0; size < testList1.Count; size++)
{
sum1 += Convert.ToInt32(testList1[size].ToString());
}
int sum2 = 0;
for (int size = 0; size < testList2.Count; size++)
{
sum2 += Convert.ToInt32(testList2[size].ToString());
}
int finalres = sum1 + sum2;
MessageBox.Show(finalres.ToString());


ممنون از راهنماییتون..
الان مشکلم اینه که به متغیرهام گیر میده(Use of unassigned local variable'sum1')
درضمن من توو کنسول دارم مینویسم

alireza264
شنبه 06 تیر 1394, 15:42 عصر
سلام برای استفاده از arraylist باید کد زیر رو به اول پروژه اضافه کنی


using System.Collections;




int[] array1 = { 25, 85, 95, 87, 25, 87, 96, 25, 45 };
int[] array2 = { 250, 805, 905, 807, 250, 807, 906, 205, 405, 10 };
ArrayList testList1 = new ArrayList(array1);
ArrayList testList2 = new ArrayList(array2);
int sum1 = 0;
for (int size = 0; size < testList1.Count; size++)
{
sum1 += Convert.ToInt32(testList1[size].ToString());
}
int sum2 = 0;
for (int size = 0; size < testList2.Count; size++)
{
sum2 += Convert.ToInt32(testList2[size].ToString());
}
int finalres = sum1 + sum2;
System.Console.WriteLine(finalres.ToString());
System.Console.ReadLine();

labkhande90
شنبه 06 تیر 1394, 18:42 عصر
دوستان خواهشا اگه میتونید کمک کنید
من برا اولین باره توو محیط کنسول کد مینویسم
به همه چی گیر میده
برای مثال توو کد زیر
int finalres = sum1 + sum2;

ارور Use of unassigned local variable'sum1 رو میده
اگه میشه راهنمایی کنید

RmeXXXXXXXXX
شنبه 06 تیر 1394, 23:08 عصر
Use of unassigned local variable
در این خطی که خطا داده یعنی متغیر بصورت قطعی مقدار دهی نشده. برای رفع این خطا یک مسیر حتمی تعیین کنید که حتماً متغیر تا قبل از این خط مقدار بگیره.
ساده ترین راه اینه که موقع تعریف متغیر مقداری مثلاً 0 بهش بدین.
int sum1= 0;
در ضمن این خطا ربطی به محیط کنسول نداره.