首页 > 解决方案 > 根据字母的位置拆分字母

问题描述

我正在尝试根据字母位置将字符串单词溢出到两个字符串中。这两个字符串是偶数和奇数。我设法读取了字符串并使用了 for 循环,但条件运算符不起作用并给我下面的错误。我做错了什么?

示例:字符串单词是pole 偶数位置字符串 - oe 奇数位置字符串 - pl

错误

Only assignment, call, increment, decrement, await, and new object expressions can be used as a statement
string word = Console.ReadLine(); 
for(int i = 0; i < word.Length; i++)
{
     string even = "";
     string odd = ""; 
           
     ((i % 2 == 0) ? even += word[i]: odd += word[i]);
}

标签: c#

解决方案


您可以按如下方式使用丢弃运算符。

string word = Console.ReadLine(); 
string even = "";
string odd = ""; 
for(int i = 0; i < word.Length; i++)
{
      
   var _ = ((i % 2 == 0) ? even += word[i]: odd += word[i]);
}

这里有几点需要注意。

  • 您需要在循环外声明odd,even变量,否则将为循环的每次迭代重新创建它
  • 请记住字符串是不可变的。您也可以考虑 StringBuilder 类。

推荐阅读