private void EncodeButton_Click(object sender, RoutedEventArgs e) { if (data == null) { MessageBox.Show("Загрузите изображение"); return; } Int32.TryParse(SizeTextBox.Text, out var size); size = size > 0 ? size : 500; var message = data.Split(size).ToArray(); var result = new EncryptedBlock <byte> [message.Count()]; Parallel.For(0, message.Count(), (i) => { var encoded = ArithmeticCoder.Encode(message[i].ToArray()); result[i] = new EncryptedBlock <byte>(encoded.Message, encoded.Ranges, encoded.Length); }); MessageBox.Show("Изображение закодировано"); encryptedBlocks = result; }