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

نام تاپیک: سرچ در کالکشن

  1. #1
    کاربر جدید
    تاریخ عضویت
    مرداد 1392
    محل زندگی
    Teh
    پست
    21

    سرچ در کالکشن

    سلام.
    من تابع زیر رو برای خوندن مقدار یه key در دیکشنری نوشتم:

    public int? GetValueOfNullableIntTypeKeyInDictionary(Dictionar y<string, object> dictionary,
    string key)
    {
    object value;
    if (dictionary.TryGetValue(key,out value) && value!=null)
    {
    return (int?)value;
    }
    return null ;
    }


    مشکلم اینه که تو شرط if اگه مقدار value نال باشه exception رخ میده. چظور باید درستش کنم؟

    من یه تابع برای int? نوشتم یه تابع برای string و ....

    آیا میشه یه تابع بنویسم که برای همه ی trpe های داده استفاده بشه؟

  2. #2

    نقل قول: سرچ در کالکشن

    به دلیل اینکه سرعت TryGetValue از contains بالاتره میخوام از TryGetValue استفاده کنم

  3. #3
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: سرچ در کالکشن

    شما میتونی یک Generic Exetension Method برای این کار به این صورت بنویسی:

    public static class DictionaryExtensions
    {
    public static TValue GetValueOrDefault<TKey, TValue>(this IDictionary<TKey, TValue> dictionary, TKey key)
    {
    TValue value;
    if (dictionary.TryGetValue(key, out value))
    return value;

    return default(TValue);
    }
    }

    و بعد اینطوری ازش استفاده کنی:

    Dictionary<string, int?> myDictionary = new Dictionary<string, int?>();
    myDictionary.Add("First", 12);
    int? firstValue = myDictionary.GetValueOrDefault("First");
    int? undefinedValue = myDictionary.GetValueOrDefault("Hello");

    اینطوری نه به نوع کلید و نه به نوع مقدار وابسته نیستید.

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

  1. سرچ از اکسس توسط vb
    نوشته شده توسط i_naderpour در بخش Access
    پاسخ: 7
    آخرین پست: یک شنبه 31 خرداد 1388, 11:16 صبح
  2. تبدیل عدد به معادل حرفی آن( هرچی سرچ کردم پیدا نکردم)!
    نوشته شده توسط khafanovich در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 13
    آخرین پست: پنج شنبه 27 فروردین 1388, 07:04 صبح
  3. کد سرچ وی بی برای اکسس
    نوشته شده توسط i_naderpour در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 1
    آخرین پست: چهارشنبه 11 شهریور 1383, 09:00 صبح
  4. طرز سرچ در فیلدها و رکوردها در ویزوال بیسیک
    نوشته شده توسط saeedweb در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 2
    آخرین پست: شنبه 22 آذر 1382, 13:14 عصر

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

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