我有一些代码从文本文件中删除重复的行,然后将结果(没有重复的文本)输出到文件。我怎样才能将此输出声明为字符串?
private static void RemoveDuplicate(string sourceFilePath, string destinationFilePath)
{
var readLines = File.ReadAllLines(sourceFilePath, Encoding.Default);
File.WriteAllLines(destinationFilePath, readLines.Distinct().ToArray(), Encoding.Default);
}
答案 0 :(得分:5)
您可以让方法返回一个字符串值:
private static string RemoveDuplicate(string sourceFilePath, string destinationFilePath)
{
var readLines = File.ReadAllLines(sourceFilePath, Encoding.Default);
var result = readLines.Distinct().ToArray();
File.WriteAllLines(destinationFilePath, result, Encoding.Default);
return string.Join(Environment.NewLine, result);
}
然后:
string result = RemoveDuplicate("source.txt", "dest.txt");
答案 1 :(得分:0)
应该返回字符串,而不是字符串数组,所以,使用String.join,你可以使用你自己的分隔符来分隔行,我用逗号,你可以使用一个新行。
private static string RemoveDuplicate(string sourceFilePath, string destinationFilePath)
{
var readLines = File.ReadAllLines(sourceFilePath, Encoding.Default);
var result = readLines.Distinct().ToArray();
string resultString = String.Join(",",ids);
File.WriteAllLines(destinationFilePath, result, Encoding.Default);
return resultString;
}