簡體   English   中英

Null 參考 c#

[英]Null reference c#

我正在編寫一個代碼,您可以在其中搜索名稱,然后會彈出所教的科目等。

但是我不太確定為什么,但我得到Object 參考未設置為 object 錯誤的實例我缺少我知道的東西,有人可以幫我嗎? 我嘗試了不同的方法並沒有真正起作用......這是我的代碼:

public partial class MainWindow : Window
    {
        Course my = new Course();
        public class Course
        {

            public string[] Name { get; set; }
            public string[] Subject { get; set; }
            public string[] Hour { get; set; }

            public Course(string[] name, string[] subject, string[] hour)
            {
                this.Name = name;
                this.Subject = subject;
                this.Hour = hour;

            }
        }

        public MainWindow()
        {
            InitializeComponent();


            my.Name[0] = "Ali";
            my.Name[1] = "Sefer";

            my.Subject[0] = "INFORMATIKA";
            my.Subject[1] = "ENGLISH";

            my.Hour[0] = "12";
            my.Hour[1] = "22";

        }

        private void searchButton_Click(object sender, RoutedEventArgs e)
        {
            Find();
        }


        private void Find()
        {

            int index = 0;
            string wanted = wantedName.Text;

            while (my.Name[index] != wanted && (my.Name[index] != "END"))
            {
                index++;
            }
            if (my.Name[index] == wanted)
            {
                outputLabel.Content = " " + my.Name[index] + " "  + my.Subject[index];
            }
            else
            {
                outputLabel.Content = "Name not found";
            }
        }


    }
}

您正在使用 arrays 而不初始化它們。 雖然您已經為Course class 定義了一個構造函數,該構造函數采用 arrays 的值,但您使用的是默認構造函數。 嘗試使用 arguments 調用您自己的構造函數

Course my = new Course(new string[2], new string[2], new string[2]);

在您可以為my.Name[0]類的元素分配值之前,您必須確保my.Name引用的是分配的數組,這意味着您的元素有 memory 可用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM