2016-03-30 8 views
0

数字で終わるブロブ名のリストがあります。「blob_0」、「blob_1」、「blob_2」最大数で終わる文字列名でリスト内の項目を検索していますか?

最大の数字で終わる名前を探したいと思います。つまり、上記の場合、blob_2。

 private string GetTailEndBlob(List<string> blobNames, CloudBlobContainer container) 
    { 
     List<int> blobNumbers = blobNames.ConvertAll(x => int.Parse(x.Substring(x.LastIndexOf('_') + 1))); 
     var maxBlobNumber = blobNumbers.Max(); 
     var maxBlobName = blobNames.Where(x => x.Contains("_" + maxBlobNumber)).FirstOrDefault(); 
     var blob = container.GetAppendBlobReference(maxBlobName); 

これは、基本的には、いくつかの文字列操作のための作業の多くのように思える:ここで私が今持っているコードです。これを行うより良い方法はありますか?

ありがとうございます!

答えて

2

どのようにあなただけのコレクションを反復処理しているだけで

string maxBlobName = blobNames.OrderByDescending(x => int.Parse(x.Substring(x.LastIndexOf('_') + 1))) 
           .First(); 

そのように一度の代わりに、約3倍。

+0

これは間違いなく私が探していたものです。ありがとう! – Kat

関連する問題