C# 替换文件c中的符号#

C# 替换文件c中的符号#,c#,arrays,file,text,input,C#,Arrays,File,Text,Input,嘿,我想替换文件中的一些符号。我做了一本字典 我可以在我输入的字符串中替换它。如何读取我的文件, 是否替换并将其保存到另一个 类程序 { 静态void Main(字符串[]参数) { Translit Translit=新Translit(); StreamReader sr=新的StreamReader(“test.txt”); string testIn=“iconb”;//测试输入字符串 字符串testOut=translit.TranslitFileName(testIn); Write

嘿,我想替换文件中的一些符号。我做了一本字典 我可以在我输入的字符串中替换它。如何读取我的文件, 是否替换并将其保存到另一个

类程序
{
静态void Main(字符串[]参数)
{
Translit Translit=新Translit();
StreamReader sr=新的StreamReader(“test.txt”);
string testIn=“iconb”;//测试输入字符串
字符串testOut=translit.TranslitFileName(testIn);
WriteLine(“Inputed\'{0}\'”,testIn);
WriteLine(“在\{0}\'之后,testOut);
Console.ReadLine();
}
公共类翻译
{
Dictionary Dictionary char=新字典()
{
{“а”、“a”},
{“e”,“e”},
{“of”,“o”},
{“П”,“p”},
{“c”,“c”}
};
公共字符串TranslitFileName(字符串源)
{
var结果=”;
//替换符号
foreach(源中的var ch)
{
var ss=“”;
//比较字典键
if(dictionaryChar.TryGetValue(ch.ToString(),out ss))
{
结果+=ss;
}
else结果+=ch;
}
返回结果;
}
}
}
试着这样做:

Func<string, string> map = new []
{
    new { input = 'a', output = 'x' },
    new { input = 'e', output = 'x' },
    new { input = 'o', output = 'x' },
    new { input = 'p', output = 'x' },
    new { input = 'c', output = 'x' },
}
    .Select(x => (Func<string, string>)(s => s.Replace(x.input, x.output)))
    .Aggregate((f0, f1) => x => f1(f0(x)));

File.WriteAllText("output.text", map(File.ReadAllText("test.txt")));
Func map=new[]
{
新的{input='a',output='x'},
新的{input='e',output='x'},
新的{input='o',output='x'},
新的{input='p',output='x'},
新的{input='c',output='x'},
}
.选择(x=>(Func)(s=>s.Replace(x.input,x.output)))
。聚合((f0,f1)=>x=>f1(f0(x));
File.WriteAllText(“output.text”,map(File.ReadAllText(“test.txt”));
调用
map(“Hello”)
会产生
“Hxllx”
,因为上面是我的
map
代码。

试着这样做:

Func<string, string> map = new []
{
    new { input = 'a', output = 'x' },
    new { input = 'e', output = 'x' },
    new { input = 'o', output = 'x' },
    new { input = 'p', output = 'x' },
    new { input = 'c', output = 'x' },
}
    .Select(x => (Func<string, string>)(s => s.Replace(x.input, x.output)))
    .Aggregate((f0, f1) => x => f1(f0(x)));

File.WriteAllText("output.text", map(File.ReadAllText("test.txt")));
Func map=new[]
{
新的{input='a',output='x'},
新的{input='e',output='x'},
新的{input='o',output='x'},
新的{input='p',output='x'},
新的{input='c',output='x'},
}
.选择(x=>(Func)(s=>s.Replace(x.input,x.output)))
。聚合((f0,f1)=>x=>f1(f0(x));
File.WriteAllText(“output.text”,map(File.ReadAllText(“test.txt”));

调用
map(“Hello”)
会产生
“Hxllx”
给定我的上述
map
代码。

为了让回答者或其他有类似问题的人更容易回答,请添加一个特定的问题陈述-“它不工作”,可以假设,但它怎么不工作?什么样的错误消息或错误行为是特征?字典中的每个KeyValuePair都有相同的键和值,因此看起来没有用。更重要的是,为什么要一个字符一个字符地替换,一次只替换所有文件内容字符串?为了让回答者或其他有类似问题的人更容易回答,请添加一个特定的问题陈述——“它不工作”,可以假设,但它怎么不工作?什么样的错误消息或错误行为是特征?字典中的每个KeyValuePair都有相同的键和值,因此看起来没有用。而且,为什么要一个字符一个字符地替换,一次只替换所有的文件内容字符串?但也不容易理解。但也不容易理解。