Попытка создать файл json для хранения некоторых данных, но при попытке доступа к ним: NullReferenceExceptionC#

Место общения программистов C#
Ответить
Anonymous
 Попытка создать файл json для хранения некоторых данных, но при попытке доступа к ним: NullReferenceException

Сообщение Anonymous »

Я работаю над проектом тренера по алгоритмам кубика Рубика на Unity и пытаюсь создать файлы json для хранения различных коллекций алгоритмов.
Когда я создаю файл, я сразу же пытаюсь обновить свои коллекции, но затем получите исключение NullReferenceException.
Вот весь код, связанный с моей проблемой.

Код: Выделить всё

public void AddCollection(string collectionName)
{
string tempPath = new string(path + "/" + collectionName + ".txt");
if (!File.Exists(tempPath))
{
File.WriteAllText(tempPath, GetBaseFileCollection(collectionName));
}
algManager.UpdateCollections();
UpdateDropDown();
}

Код: Выделить всё

public string GetBaseFileCollection(string collectionName)
{
string temp = "{\r\n\t\"collectionName\" : \"" + collectionName + "\"\r\n}";
return temp;
}

Код: Выделить всё

//algManager
public void UpdateCollections()
{
algorithms.Clear();
info = new DirectoryInfo(path);
var fileInfo = info.GetFiles("*.txt");
foreach (FileInfo file in fileInfo)
{
var textFile = Resources.Load(file.Name.Replace(".txt", ""));
algorithms.Add(JsonConvert.DeserializeObject(textFile.text));
//the error occurs on this line ^
}
А вот мой класс AlgorithmCollection, в который десериализуются файлы json

Код: Выделить всё

public class AlgorithmCollection
{
public string collectionName;

[SerializeField]
public List algorithms;
}

[System.Serializable]
public class AlgorithmBase
{
public string algorithmName;

public List algorithm;

public int cubeSize;

[SerializeField]
public List tilesColor;
}
Я попробовал использовать функцию отладки VS2022, и при входе в foreach UpdateCollection у меня есть файл, но var textFile имеет значение null после Resources.Load.

Подробнее здесь: https://stackoverflow.com/questions/788 ... cces-it-nu
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»