1

我有一个包含字符串值的列表。我需要修剪前导值和结束值。这是代码:

        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 语句时修剪不需要的值而无需遍历列表或修剪?

4

2 回答 2

6

LINQ 使这变得简单:

FileList.AddRange(FTP.GetFileInfos().Select(x => x.Trim()));

whereTrim()将是一个方法(可能是一个扩展方法),FTPFile它返回一个FTPFile带有修剪文件名的方法。

于 2013-01-14T17:51:06.710 回答
1

FTPFile 是一个类并且有一个属性“Name”。您可能正在查看 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.

 }
于 2013-01-14T17:55:03.430 回答