【问题标题】:How can I prove whether a char in a string is equal to a specific char?如何证明字符串中的字符是否等于特定字符?
【发布时间】:2019-11-11 09:24:14
【问题描述】:

我想证明我的字符串中的第一个字符是否等于“@”。我怎样才能做到这一点?我正在使用 c#

if (string[1] == "<character>")
                    {
                        Console.WriteLine("TRUE");
                    }

【问题讨论】:

  • 字符串是从 0 开始而不是从 1 开始索引的,所以应该是 if (string[0] == '@') ...
  • 你的代码甚至没有编译。
  • @MiGro 语法错误在 10: "Your" ;D
  • string 不是变量的理想名称。

标签: c# string if-statement character


【解决方案1】:
var s = "@";
    if (s[0] == '@')
    {
        Console.WriteLine("TRUE");
    }

【讨论】:

    【解决方案2】:
    if (someString[0] == '@')
    {
        Console.Writeline("TRUE");
    }
    
    1. 不要使用“字符串”作为变量名。
    2. 字符串的第一个字符的索引 = 0。
    3. 对于 char 值,使用“@”,而不是“@”。

    【讨论】:

      【解决方案3】:

      你可以使用StartsWith:

      if (str.StartsWith("@"))
      {
           Console.Writeline("TRUE");
      }
      

      如果您正在测试的变量可能为 null,您可以使用以下方法进行处理:

      if (str?.StartsWith("@") ?? false)
      {
           Console.Writeline("TRUE");
      }
      

      【讨论】:

      【解决方案4】:

      您可以使用子字符串从字符串中获取特定字符:

       char firstCharacter = string.Substring(0,1).ToCharArray()[0];
      
       if (firstCharacter == '@')
       {
           Console.WriteLine("TRUE");
       }
      

      子字符串函数中的第一个数字是您将恢复的第一个字符(顺便说一下,字符串中的字符从 0 开始计数,因此第一个字符将是字符“0”)。第二个数字是您要检索的字符数(在您的情况下只有一个)。

      奇怪的是toCharArray。 Substring 函数返回要与 char 进行比较的字符串。因此,您需要将字符串转换为 char 数组,获取该数组的第一个元素,并将其与您的 char 进行比较。

      编辑:有些人使用 StartsWith 函数回答。这也有效,但如果您想要第一个以外的其他字符,了解这种方法可能很有用。但是,如果您不理解这一点,请使用 StartsWith。

      【讨论】:

      • 是的,函数名中缺少一些大写字母
      • ... 你不能像这里那样使用string。还有一些问题:如果字符串为空怎么办?如果字符串为空怎么办?您必须明确检查所有内容。
      猜你喜欢
      • 2016-12-21
      • 1970-01-01
      • 2014-07-29
      • 1970-01-01
      • 1970-01-01
      • 2015-11-04
      • 1970-01-01
      • 2015-04-22
      • 2020-09-19
      相关资源
      最近更新 更多