Ошибка связанная со списком - C#

Узнай цену своей работы

Формулировка задачи:

Есть класс Globals
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace Hydrolysis
  6. {
  7. class Globals
  8. {
  9. public static List<Salts> salts = new List<Salts>();
  10. public static void generateSalts()
  11. {
  12. Salts k2s = new Salts();
  13. k2s.name = "K2S";
  14. k2s.enviroment = "щелочная";
  15. k2s.stairs = 2;
  16. k2s.strongSide = "K(катиону)";
  17. salts.Add(k2s);
  18. }
  19. }
  20. }
И есть класс Salts
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace Hydrolysis
  6. {
  7. public class Salts
  8. {
  9. public string strongSide;
  10. public string name;
  11. public int stairs;
  12. public string enviroment;
  13. }
  14. }
По нажатию кнопки должно происходить следующее
Листинг программы
  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3. Globals.generateSalts();
  4. if (comboBox1.SelectedText != null)
  5. {
  6. for (int i = 0; i < 3; i++)
  7. {
  8. if (comboBox1.SelectedText == Globals.salts[i].name)
  9. {
  10. label2.Text = Globals.salts[i].name;
  11. }
  12. }
  13. }
  14. else
  15. MessageBox.Show("Неопределённый выбор! \nПожалуйста повторите попытку!", "Неопределённый выбор!");
  16. }
Но по нажатии кнопки выдает следующую ошибку "Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции. Имя параметра: index" на строке if (comboBox1.SelectedText == Globals.salts[i].name) Помогите пожалуйста.

Решение задачи: «Ошибка связанная со списком»

textual
Листинг программы
  1. private void button1_Click(object sender, EventArgs e)
  2.         {
  3.             Globals.generateSalts();
  4.             if (comboBox1.SelectedText != null)
  5.             {
  6.                 foreach (Salts i in Globals.salts)
  7.                 {
  8.                     if (comboBox1.SelectedText == i.name)
  9.                     {
  10.                         label2.Text = i.name; break;
  11.                     }
  12.                 }
  13.             }
  14.             else
  15.                 MessageBox.Show("Неопределённый выбор! \nПожалуйста повторите попытку!", "Неопределённый выбор!");
  16.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы