Исправить исключение NullReferenceException можно с помощью Null-условных операторов в c # 6 и написать меньше кода для обработки нулевых проверок.
Он используется для проверки нуля до выполнения доступа к члену (?. ) или index (? [).
Пример
var name = p?.Spouse?.FirstName;
эквивалентен:
if (p != null)
{
if (p.Spouse != null)
{
name = p.Spouse.FirstName;
}
}
В результате имя будет нулевым когда p равно null или когда p.Spouse имеет значение null.
В противном случае имени переменной будет присвоено значение p.Spouse.FirstName.
Для получения дополнительной информации: Операторы с нулевым условием
Вам нужно постоянное хранилище, а не кеш или что-то в этом роде. Если ваше приложение уже не использует базу данных, есть несколько вариантов, которые вы можете выбрать из:
Если ваше приложение уже использует базу данных, почему бы не сохранить эти данные в отдельной таблице ?
Для этого нужны базы данных. Если вы не хотите тратить много времени на создание большого приложения базы данных, попробуйте sqlite .
Некоторые кеши (в частности, memcache) являются потерями, и большинство из них не выживут при перезапуске. Использовать базу данных.
Если у вас нет возможности использовать базы данных, вы можете рассмотреть возможность записи данных в файл на диске.