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

نام تاپیک: این ارور برای چیه ؟object refrence not set to an instance of an object

  1. #1

    این ارور برای چیه ؟object refrence not set to an instance of an object

    سلام دوستان
    این برنامه توی اجرا مشکل داره ، کارش اینه که کاربر یه گزینه از منو انتخاب میکنه مثلا : اضافه کردن دانشجو و انتخاب بعدی case 4 برای جستجو بر اساس شماره دانشجویی ، تا اینحا رو درست کار می کنه ولی بعد از اون اگر گزینه دیگه رو انتخاب کنیم اضافه کردن درس یا استاد ، بعد بخواهیم case های مربوط به اونا رو بررسی کنیم باز هم جواب رو نشون میده ولی با این ارور روبرو میشم

    object refrence not set to an instance of an object

    البته فرقی توی ترتیب انتخاب گزینه ها نیست ، در هر مورد برای کار با case دوم این مشکل رو دارم .
    type cast ها رو فکر نمی کنم مشکلی داشته باشن ، مقدار تهی هم ندارم

    خط هایی که این ارور رو نشون میده :

    case 4 :
    Console.WriteLine("Student : {0},{1},{2}", s.StName, s.StFamily, s.StID);


    case 5 :
    if (teach.TFamily.Contains(word))


    case 6 :
    if (NumUnit < cs.NumOfUnit)


    ببخشید اگه بد توضیح دادم و کدم خیلی طولانیه

    static void Main(string[] args)
    {

    ArrayList arylst = new ArrayList();
    Hashtable ht = new Hashtable();
    while (true)
    {
    int menu = ShowMenu();
    switch (menu)
    {
    case 1://Add Student
    Console.Write("Number of student? ");
    int stNum = int.Parse(Console.ReadLine());
    for (int i = 0; i < stNum; i++)
    {
    Student st = new Student();
    Console.Write("Student Name : ");
    st.StName = Console.ReadLine();
    arylst.Add(st.StName);
    Console.Write("Student Family : ");
    st.StFamily = Console.ReadLine();
    arylst.Add(st.StFamily);
    Console.Write("Student ID : ");
    st.StID = int.Parse(Console.ReadLine());
    arylst.Add(st.StID);
    ht[st.StID] = st;
    }
    break;

    case 2://Add Teacher
    Console.Write("Number of Teacher? ");
    int TNum = int.Parse(Console.ReadLine());
    for (int i = 0; i < TNum; i++)
    {
    Teacher tch = new Teacher();
    Console.Write("Teacher Name : ");
    tch.TName = Console.ReadLine();
    arylst.Add(tch.TName);
    Console.Write("Teacher Family : ");
    tch.TFamily = Console.ReadLine();
    arylst.Add(tch.TFamily);
    Console.Write("Teacher ID : ");
    tch.Tid = int.Parse(Console.ReadLine());
    arylst.Add(tch.Tid);
    ht[tch.Tid] = tch;

    }
    break;

    case 3://Add Course
    Console.Write("Number of Course? ");
    int CNum = int.Parse(Console.ReadLine());
    for (int i = 0; i < CNum; i++)
    {
    Course crs = new Course();
    Console.Write("Course Name : ");
    crs.CName = Console.ReadLine();
    arylst.Add(crs.CName);
    Console.Write("Number of Unit : ");
    crs.NumOfUnit = int.Parse(Console.ReadLine());
    arylst.Add(crs.NumOfUnit);
    ht[crs.NumOfUnit] = crs;
    }
    break;

    case 4://Search Student
    Console.Write("Student ID for search : ");
    int idforSearch = int.Parse(Console.ReadLine());
    if (arylst.Contains(idforSearch))
    if (ht.ContainsKey(idforSearch) == true)
    {
    Student s = ht[idforSearch] as Student;
    Console.WriteLine("Student : {0},{1},{2}", s.StName, s.StFamily, s.StID);
    }
    break;

    case 5://Search Teacher
    Console.Write("Word for search : ");
    string word = Console.ReadLine();
    foreach (DictionaryEntry item in ht)
    {
    Teacher teach = item.Value as Teacher;
    if (teach.TFamily.Contains(word))
    {
    Console.WriteLine("Teacher's family ={0}", teach.TFamily);
    }
    }
    break;

    case 6:
    Console.Write("Number to compare with Units of Course : ");
    int NumUnit = int.Parse(Console.ReadLine());
    foreach (DictionaryEntry item in ht)
    {
    Course cs = item.Value as Course;
    if (NumUnit < cs.NumOfUnit)
    Console.WriteLine("Course ={0}", cs.CName);
    }
    break;

    }
    }

    }
    }
    }
    فایل های ضمیمه فایل های ضمیمه

  2. #2

    نقل قول: این ارور برای چیه ؟object refrence not set to an instance of an object

    سلام
    دقیقاً از کدوم خط خطا می گیره؟

  3. #3

    نقل قول: این ارور برای چیه ؟object refrence not set to an instance of an object

    توی case های 4و5و6 ، خط هایی رو که بالا گذاشتم .
    یعنی نه که همزمان به این سه خط گیر بده ، هرکدم از این case ها رو که برای بار دوم صدا می زنم error میده

    ممنون از توجهتون

  4. #4

    نقل قول: این ارور برای چیه ؟object refrence not set to an instance of an object

    ببین منظورم اینه که Visual Studio کدوم خط رو زرد رنگ می کنه. مثلاً case 1 رو تست کن. احتمال می دم Parse مقدار null بر می گردونه.

  5. #5

    نقل قول: این ارور برای چیه ؟object refrence not set to an instance of an object

    خطا ها مربوط به case های 4 به بعده ، خط هایی رو که بالا گذاشتم وقتی با break point برنامه رو اجرا می کنم زرد می کنه و این ارور رو نشون میده .

    با سه case اول مشکلی ندارم ، بعد از این که داده ها رو با این سه تا کیس پر کردم و بعد یکی از کیس های 4و5و6 رو فراخوانی کنم ، اولین بار بدون مشکل اجرا میشه ولی اگه یکی از سه تا رو برای بار دوم فراخوانی کردم ، ایراد می گیره

  6. #6

    نقل قول: این ارور برای چیه ؟object refrence not set to an instance of an object

    عذر می خوام شما از همون اول خط ها رو مشخص کردین اما من حواسم نبود.
    علت خطا اینه که ht همه نوع شیئی رو در خود نگه می داره و شما سعی داری فارغ از نوع شیء اونو تبدیل به Teacher کنی در حالی که اگه item یک Student باشه نمیشه اونو تبدیل به Teacher کرد باید ابتدا نوعش رو شناسایی بکنی اگه Teacher بود تازه بیای اونو بریزی تو متغیر teach:

    foreach (DictionaryEntry item in ht)
    {
    if(item.Value is Teacher)
    {

    Teacher teach = item.Value as Teacher;
    if (teach.TFamily.Contains(word))
    {
    Console.WriteLine("Teacher's family ={0}", teach.TFamily);
    }
    }
    }


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

  1. این ارور برای چیه
    نوشته شده توسط hossein_va در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: دوشنبه 28 فروردین 1391, 20:07 عصر
  2. سوال: خطای Object refrence not set to an instance of an object
    نوشته شده توسط Soltanisoft در بخش گزارش سازی با Crystal Report
    پاسخ: 1
    آخرین پست: چهارشنبه 10 اسفند 1390, 07:47 صبح
  3. error Object refrence not set to an instance of an object
    نوشته شده توسط charkhkar در بخش C#‎‎
    پاسخ: 3
    آخرین پست: سه شنبه 01 آذر 1390, 23:29 عصر
  4. سوال: برخورد با ارور "object reference not set to an instance of an object"
    نوشته شده توسط mehrdad85 در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: سه شنبه 17 خرداد 1390, 10:37 صبح
  5. پاسخ: 3
    آخرین پست: دوشنبه 20 آبان 1387, 12:00 عصر

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

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