为列表

时间:2016-06-30 14:09:26

标签: c# linq azure-storage-blobs

一个罗嗦的标题,但我不确定如何用它来表达它。我正在Azure存储帐户Blob上做一些工作,我想获取每个blob的元数据,这是通过调用该对象上的方法来完成的。目前,我正在使用循环结构来调用这样的方法

IEnumerable<IListBlobItem> listOfBlobs =
    cloudBlobContainer.ListBlobs(blobName, true, BlobListingDetails.Snapshots);

foreach (IListBlobItem blobItem in listOfBlobs)
{                    
    CloudBlockBlob theBlob = blobItem as CloudBlockBlob;
    theBlob.FetchAttributes();                   
    Console.WriteLine("Snapshot Uri: {0}", theBlob.SnapshotQualifiedUri.AbsoluteUri);
}

我想知道是否有一种更优雅的方式来做到这一点。我知道我通常可以做到

listOfBlobs.ForEach(item => SomeMethod(item))

但由于FetchAttributes是一个void方法,因此它会在构建时失败,因为它需要返回IEnumerable<T>才能使用foreach。我的问题是:如何为列表中的所有项目调用FetchAttributes()?我最好使用循环吗?是否有一些Linqy的方式呢?

0 个答案:

没有答案