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

نام تاپیک: انتخاب ماکزیمم از لیست تو در تو

  1. #1
    کاربر دائمی آواتار دلتنگ اسمان
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    دل یار
    سن
    30
    پست
    569

    انتخاب ماکزیمم از لیست تو در تو

    با سلام
    لیستی به صورت زیر داریم
     List<List<Personel>> ListInDayes = new List<List<Personel>>();

    کلاس Personel :
    class personel
    {
    public int day = 0;

    public double average = 0;
    }

    میخوام ماکزیمم average رو در روز خاص مثل day =25 پیدا کنم.
    ممنون میشم برای قطعه کدش راهنمایی کنید.

  2. #2
    مدیر کل سایت آواتار محمد آشتیانی
    تاریخ عضویت
    مهر 1384
    محل زندگی
    تهران
    پست
    1,528

    نقل قول: انتخاب ماکزیمم از لیست تو در تو

    سلام
    var maximum =  ListInDayes.Max(c => c.Where(p => p.Day == 25).Max(p => p.Average));
    قوانین سایت برنامه نویس [ به سوالات از طریق پیام خصوصی پاسخ داده نمی شود ]

  3. #3
    کاربر دائمی آواتار دلتنگ اسمان
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    دل یار
    سن
    30
    پست
    569

    نقل قول: انتخاب ماکزیمم از لیست تو در تو

    نقل قول نوشته شده توسط محمد آشتیانی مشاهده تاپیک
    سلام
    var maximum =  ListInDayes.Max(c => c.Where(p => p.Day == 25).Max(p => p.Average));
    ممنون جناب آشتیانی .ولی خطا داد :

    An unhandled exception of type 'System.InvalidOperationException' occurred in System.Core.dll

    Additional information: Sequence contains no elements

    خودم به این شکل نوشتم (راستش میخواستم با لامبدا بصورت خطی بنویسم.) :

     private static double GetMaxAverage(List<List<Personel>> ListLstInDayes, int day)
    {
    double max = 0;

    var l = from a in ListLstInDayes
    from k in a
    where k.day == day
    select k;

    foreach (Personel item in l)

    if (item.Average > max) max = item.Average;


    return max;
    }

  4. #4
    مدیر کل سایت آواتار محمد آشتیانی
    تاریخ عضویت
    مهر 1384
    محل زندگی
    تهران
    پست
    1,528

    نقل قول: انتخاب ماکزیمم از لیست تو در تو

    سلام مجدد
    به خاطر اینه که یکی از لیست های داخلی شما ، هیچ آیتمی نداره ، به اینصورت اصلاح کنید

    var maximum=  ListInDays.Where(c => c.Any()).Max(c => c.Where(p => p.Day == 25).Select(p => p.Average).Max());


    ضمن اینکه چک کنید لیست اصلیتون هم دارای آیتم باشه ، مثلا

    if (ListInDays.Any())
    {
    var maximum= ListInDays.Where(c => c.Any()).Max(c => c.Where(p => p.Day == 25).Select(p => p.Average).Max());
    }



    * اصلاح برای اعداد منفی
    قوانین سایت برنامه نویس [ به سوالات از طریق پیام خصوصی پاسخ داده نمی شود ]

  5. #5
    کاربر دائمی آواتار دلتنگ اسمان
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    دل یار
    سن
    30
    پست
    569

    نقل قول: انتخاب ماکزیمم از لیست تو در تو

    جناب آشتیانی احسنت و ممنون

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

  1. سوال: نمایش لیست های تو در تو در استیمول سافت
    نوشته شده توسط sandbaad در بخش ابزارهای گزارش سازی
    پاسخ: 0
    آخرین پست: یک شنبه 24 بهمن 1395, 21:56 عصر
  2. سوال: جایگزینی برای if های تو در تو و زیاد به غیر از switch
    نوشته شده توسط valentine093 در بخش C#‎‎
    پاسخ: 0
    آخرین پست: دوشنبه 06 مهر 1394, 20:07 عصر
  3. سوال: جستجو تو فیلد در یک دیتابیس(تو در تو)
    نوشته شده توسط Masoudse7en در بخش VB.NET
    پاسخ: 1
    آخرین پست: یک شنبه 15 بهمن 1391, 19:07 عصر
  4. سوال: چطوری میشه یه فونتی که تو سیستم کاربر نیست رو تو وبسایت استفاده کرد؟
    نوشته شده توسط ghasemweb در بخش طراحی وب (Web Design)
    پاسخ: 11
    آخرین پست: چهارشنبه 02 شهریور 1390, 22:35 عصر

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

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