如何在foreach循环中跳过空格?

3

我是一名C#新手。

我正在使用foreach语句循环遍历一个字符字符串,并根据它们在字母表中的位置将数字值写入int。

这个方式可以正常工作,但当我尝试跳过字符串中的空格时,会抛出以下错误:

无法分配给“c”,因为它是foreach迭代变量。

以下是我的代码:

foreach (char c in encodedText)
{
    if (c = " ");
    {
        continue;
    }

    int index = char.ToUpper(c) - 64;
    Console.WriteLine(index);
}

使用 == 进行比较。= 表示赋值。 - E. Moffat
有两件事情需要注意,第一是你正在尝试比较一个字符,它使用的是单引号(' '),而不是字符串。另外,在C#中,比较运算符是“==”,而“=”运算符是赋值运算符,因此编译器认为你正在尝试将一个值赋给“c”,而不是比较它。 - Glorin Oakenfoot
Daniel和Glorin已经指出,单个=用于将值赋给变量,而2(==)用于比较两个值。我只想补充一点,这与VB不同,因为在VB中1用于两者。也许你来自VB并感到困惑,或者只是犯了一个小错误,忘记了第二个?我知道它被标记为C#,但由于它们都是.NET,所以我想添加这个注释。 - sab669
1个回答

9

尝试使用 if (c == ' ')

  • " 表示 字符串
  • ' 表示 字符
  • = 表示赋值。
  • == 表示相等性。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接