• Как сделать простой и быстрый доступ к массиву строк?

    Создаем обычные массивы со значениями для каждого уровня. В функции просто обращаемся по индексу, который равен значению уровня (т.к. отсчёт также идёт с 0). На мой взгляд, наиболее простой и удобный способ.

    Возможно где-то ошибся, но идея думаю ясна.

    public class WordsArray {
      public static string targetword;
      public static string[] words = {"EMPTY","EMPTY","EMPTY","EMPTY","EMPTY"};
    
      static string[] targetWordsArray = new string[] {
        "fsewt", "vdfrty", "wtwtwtyw", "eyryyr", /* *** */, "wtetre"
      }
    
      static string[][] wordsArray = new string[][] {
        new string[] { "twetwt", "twtat", "twtwtw", "twtwt", "twtfsdfggs" },
        new string[] { "wywyt", "gdghdye", "yeye", "gxcbchd", "hdhey" },
        new string[] { "bnvnbvbv", "nvnbn", "nbbnv", "teyee", "tyeyey" },
        new string[] { "ghjghjg", "jfjfue", "uruuu", "uetetewre", "rwrwrt" },
        /* *** */,
        new string[] { "tertet", "tete", "tetete", "tetetert", "trtetrrt" }
      }
    
    
      public static void changeWords(int level) {
        if (level >= 0 && level <= 50) {
          targetword = targetWordsArray[level];
          words = wordsArray[level];
        } else {
          targetword = "EMPTY";
          words = new string[]{ "EMPTY", "EMPTY", "EMPTY", "EMPTY", "EMPTY" };
        }
    }
    Ответ написан
    Комментировать
  • NullReferenceException при сравнении содержимого ComboBoxItem?

    ComboBoxItem lbi = ((sender as ComboBox).SelectedItem as ComboBoxItem);

    В переменной lbi может находиться null, если ничего не выбрано, т.к. as возвращает null, если преобразование не удалось.

    Ниже Вы пытаетесь получить доступ к полю Content у null. Об этом компилятор и сообщает.

    Решение: нужно добавить проверку на null перед использованием lbi
    Ответ написан
    Комментировать