Разные длины одинаковых строк в C# WinForms

329
11 июня 2022, 05:00
public MainWindow(string filename)
{
    InitializeComponent();
    if(filename != null && File.Exists(filename))
    {
        FilePath = filename;
        FileText.Text = File.ReadAllText(FilePath);
        DefaultFileText = FileText.Text;
        MessageBox.Show((DefaultFileText.Length == FileText.TextLength).ToString()); // output: false
    }
}

Не всегда, но бывает такое, что длины не совпадают, хотя одна строка равна другой. Как исправить?

Answer 1

Исходный код: TextLength.

Там комментарий:

Note: Currently Microsoft does not fully support surrogates - VSW#327396. If the text contains surrogate characters this property may return incorrect values.

Очевидно, в вашем тексте содержатся суррогатные символы.

Answer 2

Разобрался с суррогатными символами, в своем блокноте переписал сохранение файла,указав кодировку при сохранении UTF-8. Сохранил проблемный файл с помощью вышеуказанной кодировки. Пример: File.WriteAllText(FilePath, FileText.Text, Encoding.UTF8);

READ ALSO
Что мне нужно знать для запуска asp.net core application в wide web?

Что мне нужно знать для запуска asp.net core application в wide web?

К примеру у меня есть простое aspnet core hello world приложение, я хочу уметь подключиться к нему через свой внешний ip и порт 80 из внешней сети (к примеру...

259
Каким аналогом ctrl + w вы пользуетесь в Visual Studio?

Каким аналогом ctrl + w вы пользуетесь в Visual Studio?

Долгое время я работал на IDE от JetBrainsЭто были PhpStorm, Rider и т

381