نمایش نتایج 1 تا 3 از 3

نام تاپیک: اضافه کردن مقادیر لیست به ارایه

  1. #1

    Angry اضافه کردن مقادیر لیست به ارایه

    سلام به همگی..
    من یه لیست (از نوع اینتیجر) دارم که مقادیری داخلش وجود داره

        List<int> list = new List<int>();


    حالا من میخوام هر مقدار اینو به ارایه دو بعدی خودم اضافه کنم

     int[][] A = new int[][] { list.ToArray() };


    با این کد بالا میشه ولی مشکل اینه که همه ی مقادیر لیست توی بلاک اول ارایه ریخته میشه!

    خب پس به این صورت حل میشه:
     int[] x1 = list.ToArray();
    int[][] A = new int[][] { new[] { x1[0] }, new[] { x1[1] }, new[] { x1[2] }, new[] { x1[3] } };



    ولی خب (کد بالا) الان به صورت دستی این کارو کردم یعنی فقط 4 اندیس اولی لیست رو ریختم توی ارایه
    چطور میتونم کل لیستم رو (حالا چه با حلقه و چه روش های دیگه) به این ارایه اضافه کنم.
    یه مثال بزنید ممنون میشم!


  2. #2
    مدیر بخش آواتار مهرداد صفا
    تاریخ عضویت
    تیر 1391
    محل زندگی
    select Country,City From World where Country.Name=IRAN and City.Contains(حضرت معصومه(ع))
    پست
    1,502

    نقل قول: اضافه کردن مقادیر لیست به ارایه

    سلام.
    با استفاده از متود Buffer.BlockCopy
    می تونید این کار رو بکنید.
    البته این روش در مورد آرایه های دندانه ای جواب نمیده.
    فرض می کنیم یک لیست با 25 عضو از int32 داریم که قصد داریم در یک آرایه 5 * 5 کپی کنیم:

    var myList = Enumerable.Range(0, 25).ToList();
    int[,] myArray = new int[5, 5];
    Buffer.BlockCopy(myList.ToArray(), 0, myArray, 0, 25 * 4);


    اون 4 هم به خاطر این هست که هر int شامل 4 بایت هست.
    چشم ظاهر گر نبیند عیب نیست چشم دل گر ننگرد باید گریست
    **********
    اَلسَّلامُ عَلَى الْحُسَيْنِ وَ عَلى عَلِىِّ بْنِ الْحُسَيْنِ وَ عَلى اَوْلادِ الْحُسَيْنِ وَ عَلى اَصْحابِ الْحُسَيْنِ

  3. #3

    نقل قول: اضافه کردن مقادیر لیست به ارایه

    نقل قول نوشته شده توسط مهرداد صفا مشاهده تاپیک
    سلام.
    با استفاده از متود Buffer.BlockCopy
    می تونید این کار رو بکنید.
    البته این روش در مورد آرایه های دندانه ای جواب نمیده.
    فرض می کنیم یک لیست با 25 عضو از int32 داریم که قصد داریم در یک آرایه 5 * 5 کپی کنیم:

    var myList = Enumerable.Range(0, 25).ToList();
    int[,] myArray = new int[5, 5];
    Buffer.BlockCopy(myList.ToArray(), 0, myArray, 0, 25 * 4);


    اون 4 هم به خاطر این هست که هر int شامل 4 بایت هست.
    با تشکر از شما.
    در انجمن stackoverflow هم مطرح کردم همین سوال رو که کد زیر رو پیشنهاد دادن:
    int[][] A =list.Select(i =>new[]{ i }).ToArray();

    (برای کسایی که به این مشکل بر میخورن)

    بازم ممنون.
    آخرین ویرایش به وسیله Mahmoud.Afrad : جمعه 17 فروردین 1397 در 21:58 عصر

تاپیک های مشابه

  1. اضافه کردن مقادیر جدید به فایل اکسل آپلود شده
    نوشته شده توسط sh_esharif در بخش ASP.NET MVC
    پاسخ: 2
    آخرین پست: چهارشنبه 27 آبان 1394, 18:45 عصر
  2. پاسخ: 12
    آخرین پست: یک شنبه 26 آذر 1391, 12:31 عصر
  3. مشکل در اضافه کردن یک لیست به زبان فارسی در combobox
    نوشته شده توسط malihehshajari در بخش Android Studio
    پاسخ: 1
    آخرین پست: شنبه 18 شهریور 1391, 13:14 عصر
  4. سوال: baind كردن ديتا ليست به آرايه
    نوشته شده توسط xcomlock در بخش C#‎‎
    پاسخ: 5
    آخرین پست: پنج شنبه 24 اردیبهشت 1388, 17:21 عصر
  5. اضافه کردن مقادیر textfield به querystring با جاوااسکریپت
    نوشته شده توسط shahroq در بخش طراحی وب (Web Design)
    پاسخ: 3
    آخرین پست: یک شنبه 05 تیر 1384, 01:51 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •