Как я могу хранить только один объект в массиве в WPF? - PullRequest
0 голосов
/ 17 апреля 2020

Почему приведенный ниже код не сохраняет один объект в массиве? Я не могу найти свою ошибку. Если у массива уже есть один объект, он должен отобразить другое сообщение. Вот код C#. Я думаю, код XAML не нужен. Возможно, моя ошибка с NULL?

 TraderInfos[] bossArray = new TraderInfos[1];

        public Reset_Register()
        {
            InitializeComponent();
        }




        private void CheckPassword(object sender, RoutedEventArgs e)
        {

            if (bossArray != null)
            {

                if (SecurtyQuestionMother.Text == securityQ_mother_textbox.Text  && SecurityQuestionSchool.Text == securityQ_school_texbox.Text) 
                {

                    foreach (var item in bossArray)
                    {
                        PasswordApears.Text = $"Your password is: {item.Password}";
                    }
                }
                else
                {
                    PasswordApears.Text = "You've not found it";
                }
            }
            else
            {
                MessageBox.Show("There isnt being any data stored yet");
            }
        }

        private void SafeTheEntries(object sender, RoutedEventArgs e)
        {

            if (bossArray == null)

            {
                TraderInfos boss = new TraderInfos()
                {
                    First_Name = first_name_textbox.Text,
                    Last_Name = last_name_textbox.Text,
                    Company_Name = company_name_textbox.Text,
                    Phonenumber = phonenumber_textbox.Text,
                    Password = passwordText.Text,
                    SecurityQuestionMother = securityQ_mother_textbox.Text,
                    SecurityQuestionSchool = securityQ_school_texbox.Text
                };

                bossArray[0] = boss;

                MessageBox.Show($"dear {boss.First_Name}!\nYour data has been saved!");

            }
            else
            {
                MessageBox.Show("You can't enter more one entry!");

            }

        }

1 Ответ

1 голос
/ 17 апреля 2020

Ваш код создает массив сверху, и поэтому ваш массив не будет нулевым. Значение bossArray[0] должно быть равно null, а не bossArray.

. Проверьте

if (bossArray[0] != null)

или

if (bossArray[0] == null)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...