Неверная кодировка при выводе на консоль - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Немножко не понятен момент в моем тренировочном коде.
using System;
using System.IO;
 
class demo
{
    
    static void Main()
    {
        FileStream Test;
        try
        {
             Test = new FileStream("C:/Users/volkov.a/Desktop/test.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite);
        }
        catch(FileNotFoundException)
        {
            Console.WriteLine("Исключение");
            return;
        }
        byte[] array=new byte[]{1,2,3,4,5};
        Test.Write(array, 0, 5);
        for (int i=0;i<array.Length;i++)
        Console.WriteLine((char)array[i]);
    }
    
}
  • Почему, если я убираю return из блока catch то получаю ошибку компиляции("Использование локальной переменной Test, которой не присвоено значение")?Ведь до блока catch в данном случае не доходит. А переменная инициализирована.
  • Почему в создаваемом файле я получаю кракозябры, которые отличаются от вывода на консоль?
Заранее спасибо.

Решение задачи: «Неверная кодировка при выводе на консоль»

textual
Листинг программы
static string Example(int x)
{
     if (x<0) return "х<0";      // если х<0, то метод завершится в этой строчке и вернет "x<0", дальше if'ы выполняться не будут
     if (x>0) return "х>0";      // если х>0, то метод завершится в этой строчке и вернет "x>0", последний if не выполнится
     if (x==0) return "х==0";  // если х==0, то метод завершится в этой строчке и вернет "x==0", все проверки будут пройдены
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы