PDA

View Full Version : سوال: افزودن مقدار به صورت پویا به یک آرایه پویا



aminghaderi
دوشنبه 08 شهریور 1389, 23:08 عصر
با سلام خدمت استادید و دوستان.
چگونه می توان یه آرایه پویا رو به صورت پویا مقدار دهی کنیم؟؟؟
یعنی من توی برنامه یه متغیر پویا بسازم و در زمان اجرا بهش مقدار بدم؟؟؟

با کمال سپاس

Salar Ashgi
سه شنبه 09 شهریور 1389, 00:19 صبح
یه آرایه پویا رو به صورت پویا مقدار دهی کنیم؟؟؟




یه متغیر پویا بسازم و در زمان اجرا بهش مقدار بدم؟؟؟


دوست عزیز ، حالا شما متغیر میخواین تعریف کنید یا آرایه ؟!
آرایه ها در سی شارپ بطور پیش فرض پویا -Dynamic تعریف میشوند ، این از این .
اگه سوالتون مربوطه میشه به ساختن کنترل ها در زمان اجرا ، که اینم مشکلی نداره و بسیار سادس ،
حالا خودتون منظورتون رو دقیق تر مطرح کنید ./

aminghaderi
سه شنبه 09 شهریور 1389, 00:31 صبح
حالا خودتون منظورتون رو دقیق تر مطرح کنید
یه ارایه رشته ای پویا لازم دارم که بتونم در زمان اجرا بهش مقدار رشته ای بدم.
(مثل شی ListBox)

ممنون از توجهتون استاد.

#aliyari_C
سه شنبه 09 شهریور 1389, 01:27 صبح
سلام خدا قوت
اولا اگر منظورت خود کلاس Array و مفهوم Array است که اندازه آرایه ها ثابت است پس چون می خوای بهش مقدار بدی بی خیالش می شیم.
دوما می توانی برای این کار List<T> , ArrayList و.... که این دو هر دو کلای های مجوعه هستند که می توانند با آرایه ها مقایسه شوند
اگر نامفهم بود بگو
موفق و تندرست باشی

aminghaderi
سه شنبه 09 شهریور 1389, 01:55 صبح
ممنون با ArrayList کار کردم و همون هم مد نظرم بود در باره ارایه هم واقعا منو عزیت کرد ، توی کد ها نمونه در جستجویی که توی گوگل داشتم ، چیز زیادی دستم نیامد که بماند ، یه چند تا کد پیدا کردم که 5 تا 6 خط می خواست بنویسی تا مثلا یه کلمه رو داخل ارایه بزاری ؟! :کف: که همین جوریش بعضی اوقات به انتهای کد می رسیم اون بالا ها رو فراموش می کنیم ، چه برسه بیایم تو برای برای همچین کاری کوچیکی 4 خط بنویسیم؟!:گیج:

ممنون از لطفتون.

Salar Ashgi
سه شنبه 09 شهریور 1389, 08:18 صبح
اگه در مورد LsitBox هستش :



private void Form1_Load(object sender, EventArgs e)
{
string[] names = { "Salar", "Ali", "Hossain" };
listBox1.Items.AddRange(names);
}


فرض کنیم :


string[] ar = new string[3];

سپس :


private void Form1_Load(object sender, EventArgs e)
{
ar[0] = "123";
ar[1] = "456";
ar[2] = "789";
listBox1.Items.AddRange(ar);

}

نمیدونم مشکلتون حل شد یا نه ؟!اگه نه ، مشکلتون رو واضحتر با یه
مثال مطرح کنید ./

aminghaderi
سه شنبه 09 شهریور 1389, 14:47 عصر
نمیدونم مشکلتون حل شد یا نه ؟!اگه نه ، مشکلتون رو واضحتر با یه
ممنون از راهمایتون استاد .
ولی مشکل من دقیقا برعکس هست؟!
من می خوام داخل برنامه یه ارایه داشته باشم پویا که در زمان اجرا بهش مقدار بدم.
یعنی یه ارایه ای که انتها نداشته باشه و من به تونم بدون مرض داخلش لغت (مثلا نام اعضای سایت) رو اضافه کنم.

مثل یه لیستی از اسامی که در حال اجرا لیست پر می شه :

لیست ارایه به صورت پویا
===============
علی
حسن
رضا
.
.
.
جواد
حمید
.
.
.


که این اسامی در زمان اجرا باید داخل ارایه اضافه بشه.

ممنون از اینکه وقت می گذارید.

amirh_karimifar
سه شنبه 09 شهریور 1389, 17:39 عصر
شما باید از Arraylist استفاده کنی .
به صورت زیر

ArrayList List = new ArrayList ();
List.Add("علی") ;
List.Add("محمد )"
.
.

و حالا اون object که میخوای اضافه کنی می تونه یه متغیر باشه .

string Name = "Ali"
List.Add(Name);

afi_program
چهارشنبه 10 شهریور 1389, 02:44 صبح
البته با آرايه هم ميشه.فقط بايد هربار كه قراره بش اضافه بشه resize بشه.اما همين list خيلي بهتره(حتي فكر كنم اصولي تر باشه).
موفق باشي

فانوس1
جمعه 14 فروردین 1394, 15:37 عصر
سلام
این دستور using داره؟چون ارور میده.
چطوری یک آرایه دوبعدی ایجاد کنیم که یک بعد آن فعلا مشخص نیست و در حلقه پر میشه؟
به این صورت تعریف کردم:
double[][] j1 = new double[3][];
این را نوشتم جواب نداد:
j1[0][ ii] =0/125;
ممنون.

am_al_59
جمعه 14 فروردین 1394, 15:57 عصر
double[][] doubleArray = new double[10][];