C# for循环字符串的问题

C# for循环字符串的问题,c#,for-loop,C#,For Loop,我对c语言编程还不熟悉,我正试图弄清楚我该怎么做 可能会反转字符串中包含e的单词以外的所有单词 我当前的代码将检测到包含e的单词,并将它们写在另一个文本框中: string text = txbInput.Text; var words = text.Split(' '); for (int i = 0; i < words.Length; i++) { if (words[i].Con

我对c语言编程还不熟悉,我正试图弄清楚我该怎么做 可能会反转字符串中包含e的单词以外的所有单词

我当前的代码将检测到包含e的单词,并将它们写在另一个文本框中:

string text = txbInput.Text;
            var words = text.Split(' ');
            for (int i = 0; i < words.Length; i++)
            {
                if (words[i].Contains('e'))
                {
                   txbOutput.Text += words[i];
                }
当前:

输入:鸡过马路

产量:鸡

预期成果:

输入:鸡过马路

输出鸡gnissorc daor

输出:鸡gnissorc daor

using System;


namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            var input = "chicken crossing the road";

            foreach (var item in input.Split(' '))
            {
                if (item.Contains('e'))
                {
                    Console.Write(item + ' ');
                }
                else
                {
                    Console.Write(Reverse(item) + ' ');
                }
            }
        }

        public static string Reverse(string s)
        {
            char[] charArray = s.ToCharArray();
            Array.Reverse(charArray);
            return new string(charArray);
        }
    }
}
enter code here
编辑

输出:鸡和daor

using System;


namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            var input = "chicken crossing the road";

            foreach (var item in input.Split(' '))
            {
                if (item.Contains('e'))
                {
                    Console.Write(item + ' ');
                }
                else
                {
                    Console.Write(Reverse(item) + ' ');
                }
            }
        }

        public static string Reverse(string s)
        {
            char[] charArray = s.ToCharArray();
            Array.Reverse(charArray);
            return new string(charArray);
        }
    }
}
enter code here
编辑


您可以简单地在空格字符上拆分单词,然后根据单词本身是否包含“e”字符,为每个单词选择单词本身或反转的单词,然后将它们与空格字符重新连接在一起:

txbOutput.Text = string.Join(" ", txbInput.Text.Split(' ')
    .Select(word => word.Contains("e") ? string.Concat(word.Reverse()) : word));

您可以简单地在空格字符上拆分单词,然后根据单词本身是否包含“e”字符,为每个单词选择单词本身或反转的单词,然后将它们与空格字符重新连接在一起:

txbOutput.Text = string.Join(" ", txbInput.Text.Split(' ')
    .Select(word => word.Contains("e") ? string.Concat(word.Reverse()) : word));

可能是的重复。我没有试图使我的整个字符串反转。@DennisTanahatoe你没有,但这个问题显示了如何使用字符串,所以只需将其中没有e的字符串传递给该方法?!?!写一个倒转单词的else案例..?梳理这两件事背后的逻辑是斗争..可能的重复。我不想让我的整个字符串倒转。@DennisTanahatoe你没有,但这个问题显示了如何使用字符串,所以只需将不带e的字符串传递给那里的方法?!?!写一个相反的例子….?梳理这两件事背后的逻辑是斗争..Array.reverses.ToCharArray.问题从我对编程不熟悉开始。。。我认为用简单易懂的答案来介绍核心概念是很重要的。为了忽略特殊字符,我可以添加什么?Array.Reverses.ToCharArray。问题从我是编程新手开始。。。我认为用简单易懂的答案来介绍核心概念是很重要的。为了忽略特殊角色,我可以添加什么?太棒了。整洁优雅!棒 极 了整洁优雅!