我想使用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);
}
}
}
答案 0 :(得分:4)
string input = "I love programming";
string output = String.Join(" ",
input.Split().Select(w => new String(w.Reverse().ToArray())));
// I evol gnimmargorp
阅读文件很简单:
string input = File.ReadAllText("input.txt");
您还可以将单词反转移动到单独的方法中。这样您就可以在不触及其他逻辑的情况下更改algorithm of string reversing:
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))));
答案 1 :(得分:0)
反转代码可以在String
的扩展方法中重构;接下来,应打开一个文本文件,将这些行拆分为单个单词,并将这些单词反向映射到控制台。