C# 使用linq反转输入文件中的文本
我想使用c#和linq反转input.txt中的每个单词,并显示输出文本,到目前为止,我有一个输入单词并反转它的代码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
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))));