2011-06-18 80 views
0

我有一些代碼從文本文件中刪除重複的行,然後輸出結果(沒有重複的文本)到一個文件。我怎麼也可以將這個輸出聲明爲一個字符串呢?C# - 聲明輸出爲字符串

private static void RemoveDuplicate(string sourceFilePath, string destinationFilePath) 
{ 
    var readLines = File.ReadAllLines(sourceFilePath, Encoding.Default); 

    File.WriteAllLines(destinationFilePath, readLines.Distinct().ToArray(), Encoding.Default); 
} 

回答

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"); 
+0

是不是結果數組?比字符串 –

+0

@BrokenGlass和@Adithya Surampudi,是的,我剛剛意識到這一點並修復了我的答案。 –

+0

如果我想用另一種方法使用這個字符串,我該如何聲明它? – James

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; 
}