У меня проблема с функцией Clear () в C#. В этом небольшом приложении пользователь должен нажать кнопку «Новая история» и получить историю, созданную из случайных слов. Это приложение использует Windows форм и C#. В то время как создание / отображение истории работает должным образом, я хотел попытаться очистить текстовое поле, содержащее отображаемую историю, чтобы за один раз показывался только один. Происходит то, что новая история добавляется к тексту, который уже находится в текстовом поле, вместо того, чтобы заменять его по назначению.
Это для задания, поэтому, если возможно, просто дайте мне знать, что я ' Я делаю неправильно, вместо того, чтобы дать мне код, чтобы исправить это.
Это, вероятно, простая ошибка, но я пробовал следующее и не могу заставить его работать как задумано:
txtStory.Clear();
txtStory.Text = String.Empty;
txtStory.Text = "";
Вот код, с которым у меня проблема:
private void newStoryToolStripMenuItem_Click(object sender, EventArgs e)
{
// clear text and write a new story (through menu)
txtStory.Clear();
txtStory.Text = StoryBuilder.WriteStory();
}
А вот метод, который вызывается (использует 2 предложения StringBuilders и историю, и извлекает из короткого массива слов сформируйте каждое предложение):
public static string WriteStory()
{
// set random number
Random r = new Random();
// Loop through 0-9
for (var i = 0; i < 10; i++)
{
// set index to random number based on article array
int index = r.Next(0, article.Length);
// capitalize first letter and add to sentence
sentence.Append(char.ToUpper(article[index][0]) + article[index].Substring(1));
// append empty space to sentence
sentence.Append(" ");
// new random number based on noun array
index = r.Next(0, noun.Length);
// append noun to sentence
sentence.Append(noun[index]);
// append empty space to sentence
sentence.Append(" ");
// new random number based on verb array
index = r.Next(0, verb.Length);
// append verb to sentence
sentence.Append(verb[index]);
// append empty space to sentence
sentence.Append(" ");
// new random number based on preposition array
index = r.Next(0, preposition.Length);
// append preposition to sentence
sentence.Append(preposition[index]);
// append empty space to sentence
sentence.Append(" ");
// new random number based on article array
index = r.Next(0, article.Length);
// append article to sentence
sentence.Append(article[index]);
// append empty space to sentence
sentence.Append(" ");
// new random number based on noun array
index = r.Next(0, noun.Length);
// append noun to sentence
sentence.Append(noun[index]);
// append period to the end of each sentence, start new sentence with a space
sentence.Append(". ");
// append sentence to story
story.Append(sentence);
sentence.Clear();
}
return story.ToString();
}
Любая помощь будет принята с благодарностью.