Проблема со свойствами: Object reference not set to an instance of an object - C#

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

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

Здравствуйте, пишу вот такой код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class textFragmented{
 
        public int numberGrapheme { get; set; }//номер кластера
        public string typeTextFragmented { get; set; }//номер кластера
    } //конец класса textFragmented
 
    class Program
    {
        static void Main(string[] args)
        {
            textFragmented[] textFrag = new textFragmented[0];
 
            Array.Resize(ref textFrag, textFrag.Length + 1);
            textFrag[textFrag.Length - 1].numberGrapheme = 1;
            textFrag[textFrag.Length - 1].typeTextFragmented = "NON";
            Console.WriteLine(textFrag[0].numberGrapheme);
            Console.WriteLine(textFrag[0].typeTextFragmented);
            Console.ReadLine();();
        }
    }
}
На строчке:
textFrag[textFrag.Length - 1].numberGrapheme = 1;
выдаёт ошибку: Object reference not set to an instance of an object. Если пишу:
        static void Main(string[] args)
        {
            textFragmented textFrag = new textFragmented();
 
            textFrag.numberGrapheme = 1;
            textFrag.typeTextFragmented = "NON";
 
            Console.WriteLine(textFrag.numberGrapheme);
            Console.WriteLine(textFrag.typeTextFragmented);
            Console.ReadLine();
        }
Тогда такой ошибки не возникает. По каким причинам появляется эта ошибка? И как можно исправить, или обойти данную проблему? Мне нужно именно массив textFragmented[].

Решение задачи: «Проблема со свойствами: Object reference not set to an instance of an object»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class textFragmented{
 
        public int numberGrapheme { get; set; }//номер кластера
        public string typeTextFragmented { get; set; }//номер кластера
    } //конец класса textFragmented
 
    class Program
    {
        static void Main(string[] args)
        {
            textFragmented[] textFrag = new textFragmented[0];
 
            Array.Resize(ref textFrag, textFrag.Length + 1);
            textFrag[textFrag.Length - 1] = new textFragmented(); //тут
            textFrag[textFrag.Length - 1].numberGrapheme = 1;
            textFrag[textFrag.Length - 1].typeTextFragmented = "NON";
            Console.WriteLine(textFrag[0].numberGrapheme);
            Console.WriteLine(textFrag[0].typeTextFragmented);
            Console.ReadLine();
        }
    }
}

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


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

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

8   голосов , оценка 3.875 из 5
Похожие ответы