我有一个包含字符串值的列表。我需要修剪前导和结束值。代码如下:
        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语句时,有没有一种方法可以在不循环列表或修剪的情况下修剪不需要的值?
发布于 2013-01-15 01:51:07
LINQ让这一切变得很简单:
FileList.AddRange(FTP.GetFileInfos().Select(x => x.Trim()));其中,Trim()是FTPFile上的一个方法(可能是一个扩展方法),它返回一个带有修剪文件名的FTPFile。
发布于 2013-01-15 01:55:03
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.
 }https://stackoverflow.com/questions/14323785
复制相似问题