Почему пропадают данные в памяти при инициализации переменной?

247
02 февраля 2019, 14:50

Всем привет. Я начинающий разработчик, поэтому попытаюсь объяснить ситуацию как смогу. Стек: С#, .NET 4.5, Visual Studio 2017.

При разработке приложения столкнулся с такой проблемой. При инициализации переменной в виде целочисленного массива:

int[] array = new int[] { 1, 4, 5, 7 };

На некоторых компьютерах (2 из 10), у программы в этой переменной, после инициализации, хранятся совершенно другие числа в последовательности. Например: 438, 73338, 938472, 32243.

На моем ПК такого не происходит. Причем не при каждой последовательности чисел в массиве, после инициализации, сбиваются данные. В интернете я ничего не смог найти, поэтому единственное решение которое мне помогло - это создать List<int>, в него, через Add, добавить последовательность, а потом конвертировать в массив, через LINQ.

Второй случай произошёл с переменной типа Dictionary, где в качестве ключа выступает enum, а в значении хранится делегат. При прямой инициализации, у некоторых пользователей программы падает с ошибкой отсутствия указанного ключа. На моём ПК всё так же работает. Эта последовательность никак не меняется с течением жизни программы. И вот тут я уже не знаю, что можно сделать.

Что такого может стоять у пользователей, что мешает работе программы? Как найти причину этого поведения? И что сделать, чтобы такого избежать?

Была ли у кого-нибудь похожая проблема?

READ ALSO
Получить из одного IEnumerable три за один обход

Получить из одного IEnumerable три за один обход

В некотором отчёте нужно отобразить три "кучки" покупателей (условно назовём их "золотыми", "серебряными" и "бронзовыми"):

224
Работа с MS Word с помощью C# [закрыт]

Работа с MS Word с помощью C# [закрыт]

Подскажите сайты, где четко расписана работа с Word через C#Т

231
Почему не работает Progressbar в Wpf

Почему не работает Progressbar в Wpf

Все таки не могу понять, почему не работает прогрессбарИспользую MVVM WPF

213