Как определить, что нулевой символ не дает ошибки в предложении
** Я хотел проверить предложение, содержит ли один нулевой символ между двумя словами. Я новичок. Таким образом, примеров этой проблемы не так много. **
Я использовал String.IsNullOrEmpty, чтобы определить пустоту строки. Однако я поступил неправильно.
Можете ли вы помочь мне об этом?
** Редактировать: я прошу прощения за мою ошибку. Этот вопрос нуждается в примере. Например; Пишу в текстовое поле "Это хорошо". Определяет нулевые символы между "Это" и "есть", "И" и "хорошо". Итак, выдает сообщение об ошибке. Тем не менее, если я пишу один символ, это не дает мне сообщение об ошибке.
PS: это сообщение об ошибке означает метку. Если он содержит нулевой символ, красная метка показывает себя. Еще, зеленая метка показывает себя. **
Редактировать 2
Public Static bool IsAllLetters(string s)
{ foreach (char c in s)
{ if (!char.IsLetter(c) return false; return true; }
Я определяю, содержит ли строка букву или нет. Если он содержит символ числа, это дает ошибку.
Во всяком случае, это объясняет, почему я использовал функцию IsAllLetter.
Затем я использовал этот пример кода.
Bool exp = IsAllLetters(explanation_text.Text);
İf (exp == false){ // wrong data }
Else { // correct data }
Итак, какой код я должен изменить? Или какой код я должен добавить?
1 ответ
Форматирование вашего кода немного грубовато, но похоже, что ваш foreach возвращается преждевременно, когда строка имеет длину больше 1
foreach (char c in s)
{ if (!char.IsLetter(c) return false; return true; }
Приведенный выше код проверяет только первый символ строки. Вместо этого вы хотите, чтобы IsAllLetters возвращал true, только если все символы были отсканированы.
public static bool IsAllLetters(string s)
{
foreach (char c in s)
if (!char.IsLetter(c)) return false;
return true;
}