Вы неправильно понимаете основные понятия. Нет такой вещи, как "сохранение переменных", вы сохраняете объекты.Ваша переменная указывает на объект, и этот объект реализует IEnumerable.На WP7, это фактический класс объекта, который определяет, может ли этот объект быть сериализован и сохранен непосредственно в ISO.Если этот фактический класс коллекции не поддерживает сериализацию, вам придется переупаковать все его текущие элементы в список / массив / словарь / стек / очередь - буквально независимо от того, что поддерживает сериализацию - и сохранить его вместо.
Как только у вас есть сериализуемая коллекция, ваш код для сохранения сокращается до чего-то столь же тривиального, как:
IsolatedStorageSettings.ApplicationSettings["blah"] = your_serializable_collection;
IsolatedStorageSettings.ApplicationSettings.Save();
и, в общем-то, все.Получение аналогично:
var items = (SomeCollection)IsolatedStorageSettings.ApplicationSettings["blah"];
, где SomeCollection может быть IEnumerable, List / Array / Dictionary / Stack / Queue - все, что вы там поместили, и все, что реализовано в фактическом классе коллекции.
Если хотите, вы можете использовать IsolatedStorageFile и записывать файлы напрямую, но если у вас нет веских оснований для этого - в этом нет никакого смысла, поскольку использование общего словаря намного проще.
В моем другом посте вынайду несколько ссылок: Как сделать изолированное хранилище в Wp7?