-1

** 我想检查一个句子是否在两个单词之间包含一个空字符。我是新的。所以,这个问题没有太多的代码示例。**

我使用 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 } 

那么,我应该更改哪个代码?或者我应该添加什么代码?

4

1 回答 1

0

您的代码格式有点粗糙,但是当字符串的 Length 大于 1 时,您的foreach似乎过早返回

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;
}
于 2017-07-10T12:33:18.960 回答