我正在创建一个学校项目,老师用隐私说了些什么,我正在制作一个加密工具,但总是在EncryptFile(文件,密码)代码中返回给我这个错误
无法将System.Collections.Generic.List转换为"字符串"
这是函数,然后将特定目录中的所有文件列出到List字符串,忽略异常
#gnome-games
如何绕过此错误?抱歉,如果这是一个糟糕的问题,我是新手
如果需要theres是函数,那么加密文件
public List<string> GetFiles(string path, string pattern)
{
var files = new List<string>();
try
{
files.AddRange(Directory.GetFiles(path, pattern, SearchOption.TopDirectoryOnly));
foreach (var directory in Directory.GetDirectories(path))
files.AddRange(GetFiles(directory, pattern));
}
catch (Exception ex)
{
// unnautorized files
}
return files;
string password = ChooseUrPass.Text
EncryptFile(files, password); //here happen the error
}
感谢您的时间
答案 0 :(得分:0)
看起来EncryptFile
需要它的第一个参数是一个字符串,你给它files
,这是一个字符串列表。
我建议用这种方式解决它:
foreach(string s in files)
{
EncryptFile(s, password);
}
答案 1 :(得分:0)
函数EncryptFile(string file, string password)
期望类型为string
,但您传递的是List<string>
试试这个:
foreach(string file in files) {
EncryptFile(file, password);
}
答案 2 :(得分:0)
您不需要List<string>
和手工递归。试试这段代码:
public List<string> GetFiles(string path, string pattern)
{
foreach (var file in Directory.GetFiles(path, pattern))
{
EncryptFile(file, password);
}
}