我是asp.net的新手
这是我的代码:
public static string pathGetFile = WebConfigurationManager.AppSettings["pathGetFile"].ToString();
public bool TransferFile(string idcard)
{
//string file = "";
try
{
Sftp sftp = new Sftp(url, user);
sftp.AddIdentityFile(pathKey);
sftp.Connect(port);
string two_char = idcard.Substring(0, 2);
ArrayList filelist = sftp.GetFileList(pathGetFile);
bool is_twochar = false;
string temp = "";
foreach (var item in filelist)
{
temp += item.ToString() + "/n";
if (item.ToString() == two_char)
{
is_twochar = true;
}
}
erorr发生在“ArrayList filelist = sftp.GetFileList(pathGetFile);
”
,错误是:
"Cannot implicitly convert type 'string[]' to 'System.Collections.ArrayList'"
答案 0 :(得分:1)
你可以改变ArrayList filelist = sftp.GetFileList(pathGetFile);
到var filelist = sftp.GetFileList(pathGetFile);
sftp.GetFileList(pathGetFile)
必须返回string[]
,因为我认为其他代码不需要使用ArrayList,所以您只需将其更改为var
或string[]
即可。
答案 1 :(得分:1)
不要使用ArrayList
,几乎没有理由。由于错误是陈述
无法将类型'string []'隐式转换为System.Collections.ArrayList
为什么不使用
var filelist = sftp.GetFileList(pathGetFile);
这会将filelist
创建为string[]
而不是ArrayList
。
答案 2 :(得分:0)
因为sftp.GetFileList(pathGetFile);
返回string[]
。一个简单的修复可以是写var filelist
或string[] filelist
而不是ArrayList
。