Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用linq反转输入文件中的文本_C#_Linq - Fatal编程技术网

C# 使用linq反转输入文件中的文本

C# 使用linq反转输入文件中的文本,c#,linq,C#,Linq,我想使用c#和linq反转input.txt中的每个单词,并显示输出文本,到目前为止,我有一个输入单词并反转它的代码 using System; using System.Text; using System.Linq; namespace program { class Program { public static void Main(string[] args) { Console.WriteLine("Strin

我想使用c#和linq反转input.txt中的每个单词,并显示输出文本,到目前为止,我有一个输入单词并反转它的代码

using System;
using System.Text;
using System.Linq; 

namespace program
{
    class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("String:");
            string name = Console.ReadLine();

            string output = new string(name.ToCharArray().Reverse().ToArray());

            Console.WriteLine(output);
        }
    }
}
读取文件很简单:

string input = File.ReadAllText("input.txt");

您还可以将单词反转移动到单独的方法中。这将允许您在不接触其他逻辑的情况下进行更改:

private static string GetReversedString(string s)
{
    return new String(s.Reverse().ToArray());
}
而获得反向输出将类似于:

string output = String.Join(" ", input.Split().Select(GetReversedString));
如果应保留行:

string output = 
    String.Join(Environment.NewLine, 
                File.ReadLines().Select(l => 
                       String.Join(" ", l.Split().Select(GetReversedString))));

反转代码可以在
String
的扩展方法中重构;接下来,应打开一个文本文件,将行拆分为单个单词,并将单词反向映射到控制台。

您能给出一个输入和输出示例吗?你想反转文件中的每个字符串吗?输入:我喜欢编程输出:I evol gnimmarg或可能的副本你能澄清一下你是想反转整个东西还是其中的片段,即字符串还是字符串中的单词吗?如果字符串是“一二三”,正确的结果是“eerht owt eno”还是“三二一”?您正在将整个字符串转换为字符数组。尝试将其拆分为字符串数组(由空格分隔的单词),然后反转该字符串。@TimSchmelter同意,如果文件的行中有单词,并且应保留行,并且每行上有多个单词,则拆分/合并应需要额外的工作谢谢,只是一个额外的问题,如何将输出写入output.txt?@user3215507使用
File.writealText(“output.txt”,output)
string output = 
    String.Join(Environment.NewLine, 
                File.ReadLines().Select(l => 
                       String.Join(" ", l.Split().Select(GetReversedString))));