мне нужно взять строку ввода и разбить его на строки, выполнив следующие правила:Разбиваем строку в фиксированной длины строки текста с словом непосильным
- линии должно быть меньше или равно 80 символов.
- линии должны разделяться на пространство, а не сломать слова в два.
Я пробовал это три раза, но мой код просто ужасен.
foreach (ChoiceClass c in q.ChoiceTextArray)
{
int runningIndex = 0;
int m = Math.Max(c.Description.Length - 1, 80);
int numLines = (c.Description.Length/80) + 1;
while (numLines > 0)
{
int len = 80;
if (numLines == 1)
{
len = c.Description.Length - runningIndex;
}
string tmp = string.Empty;
if (numLines > 1)
{
tmp = c.Description.Substring(runningIndex, len);
}
else
{
if (runningIndex > c.Description.Length)
{
richTextBox2.Text += "\t" + tmp + eol;
runningIndex += tmp.Length + 1;
numLines--;
}
else
{
tmp = c.Description.Substring(runningIndex);
richTextBox2.Text += "\t" + tmp + eol;
runningIndex += tmp.Length + 1;
numLines--;
}
}
}
}
«Мой код просто ужасный» не вопрос. Это работает? Хорошо. Вы хотите, чтобы он был короче или читабельнее? Попробуйте спросить об обзоре кода, но не перед тем, как прочитать их http://codereview.stackexchange.com/help/how-to-ask. – CodeCaster
Спасибо за большое предложение. Я сделаю это с этого момента. -Su –
Это поздний ответ! Счастлив, что был полезен два года назад. : P – CodeCaster