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()));

whereは、トリミングされたファイル名を返すTrim()メソッド (おそらく拡張メソッド) になります。FTPFileFTPFile

于 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 に答える