我有一个包含字符串值的列表。我需要修剪前导值和结束值。这是代码:
using EnterpriseDT.Net.Ftp;
public List<FTPFile> FileList = new List<FTPFile>();
FTP = new FTPConnection() { ServerAddress = _host, UserName = _user, Password = _password };
FTP.Connect();
FTP.TransferType = FTPTransferType.BINARY;
FTP.ChangeWorkingDirectory(_as400_directory);
FTP.LocalDirectory = _local_directory;
FileList.AddRange(FTP.GetFileInfos());
FTP.Close();
FileList列表包含以下示例值:
test 123 11/01/12 *STMF File1.csv somegarbagevalues
test 123 11/01/12 *STMF File2.csv somegarbagevalues
test 123 11/01/12 *STMF File3.csv somegarbagevalues
我需要做的是在线捕获文件名(例如File1.csv,File2.csv ...)当我执行FileList时,有没有办法修剪不需要的值而不循环遍历列表或修剪。 AddRange语句?
答案 0 :(得分:6)
LINQ让这一切变得简单:
FileList.AddRange(FTP.GetFileInfos().Select(x => x.Trim()));
其中Trim()
是FTPFile
上的一个方法(可能是一种扩展方法),它返回带有修剪过的文件名的FTPFile
。
答案 1 :(得分:1)
FTPFile是一个类,有一个属性&#34; Name&#34;。您可能正在查看FTPFile类的ToString()实现,它同时为您提供了所有属性。
请参阅: http://www.enterprisedt.com/products/edtftpnet/doc/api/EnterpriseDT.Net.Ftp.FTPFileMembers.html
只需使用:
foreach(FTPFile f in FileList)
{
string name = f.Name;
// Do whatever you want with name.
}