Я пытался вывести все минимальные и максимальные значения простых типов данных с использованием нового форматирования C# 6 в текстовое поле с расширенными возможностями. Но там, где он вызывает char.MinValue, он останавливает вывод строки.C# 6 - char.MinValue(). ToString() не выводит в текстовое поле с расширенными возможностями
Следующий код укорачивается, чтобы дать пример и показать только проблема у меня. MaxChar() не вызывает проблем, но где-то я помещаю MinChar() вывод строки quits. Я не вижу ошибок при попытке отладки, и метод конкатенирует все, когда я смотрю на локальные переменные, используя точки останова. Поэтому я думал, что это может быть связано с богатым текстовым полем, но я не могу найти ничего, что заставило бы меня понять, почему это происходит.
public Form1()
{
InitializeComponent();
richTextBox1.Text = setTextBox();
}
private string setTextBox()
{
String output = "";
// decimal
output += "decimal\t" +
$"\tMin: " + MinDecimal() + "\n" +
$"\t\tMax: " + MaxDecimal() + "\n";
// char
output += "char\t" +
$"\tMin: " + MinChar() + " to " +
$"Max: " + MaxChar() + "\n";
return output;
}
public string MinChar()
{
return $"{char.MinValue.ToString()}";
}
public string MaxChar()
{
return $"{char.MaxValue.ToString()}";
}
настоящее время у меня это кастинг мой char.MinValue к междунар ((INT) char.MinValue) перед вызовом ToString(), и это работает очень хорошо, но, конечно, это выводит ИНТ значение полукокса , Так где же проблема?
Важно отметить, что это * родной * строка символов терминатор. .NET не имеет проблем со строками, содержащими нулевые символы. – usr
@usr у него есть. Раньше я встречал такую же проблему. Строка .NET может содержать \ 0 в середине строки, но усекать при отображении – Sakura
Спасибо, ребята. Я подумал, что это что-то вроде этого, и я попытался сбежать от него, прежде чем проверять эту теорию, так как я не могу прямо заявить об этом. Но с этой информацией я нашел удобный метод dandy, который выводит литералы. – NewbornNerd