一个罗嗦的标题,但我不确定如何用它来表达它。我正在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的方式呢?