Спасибо за ответы, нам удалось решить проблему, создав собственный суррогат сериализации связанного списка, который перебирает связанный список и сохраняет каждый узел в файл, используя уникальную ссылку на основе позиции в списке. При загрузке данных из файла мы можем использовать ту же уникальную ссылку, чтобы получить правильные узлы в правильном порядке. Ниже приведены фрагменты кода, чтобы показать, как мы это сделали (мы понимаем, что это, вероятно, не самый эффективный способ, но он работает для наших нужд):
Сохранение данных в файл:
`int num = 0;
info.AddValue("count", cardsList.Count);
foreach (KeyValuePair<Cards,bool> el in cardsList){
info.AddValue(num + "id", el.Key.ID);
info.AddValue(num + "faceUp", el.Value);
num++;
}`
Загрузка данных из файла:
`int count = (int)info.GetValue("count", typeof(int));
string id = "";
bool faceUp;
for (int i = 0; i < count; i++)
{
id = (string)info.GetValue(i + "id", typeof(string));
faceUp = (bool)info.GetValue(i + "faceUp", typeof(bool));
linkedList.AddLast(new KeyValuePair<Cards,bool>(gameController.FindCard(id), faceUp));
}`