public static async Task <IEnumerable <IStorageListBlobItem> > ListBlobsAsync(this IStorageBlobClient client, string prefix, bool useFlatBlobListing, BlobListingDetails blobListingDetails, CancellationToken cancellationToken) { if (client == null) { throw new ArgumentNullException("client"); } List <IStorageListBlobItem> allResults = new List <IStorageListBlobItem>(); BlobContinuationToken currentToken = null; IStorageBlobResultSegment result; do { result = await client.ListBlobsSegmentedAsync(prefix, useFlatBlobListing, blobListingDetails, maxResults : null, currentToken : currentToken, options : null, operationContext : null, cancellationToken : cancellationToken); if (result != null) { IEnumerable <IStorageListBlobItem> currentResults = result.Results; if (currentResults != null) { allResults.AddRange(currentResults); } } }while (result != null && result.ContinuationToken != null); return(allResults); }