gpt4 book ai didi

c# - 在 foreach 循环之外使用 IEnumerable 列表

转载 作者:太空宇宙 更新时间:2023-11-03 18:20:25 25 4
gpt4 key购买 nike

我正在使用 IEnumerable在 for each 循环中,如下所示:

foreach (IListBlobItem blobItem in container.ListBlobs())
{
if (blobItem is CloudBlobDirectory)
{
CloudBlobDirectory directory = (CloudBlobDirectory)blobItem;
IEnumerable<IListBlobItem> blobs = directory.ListBlobs(true);
}
}
await ProcessBlobs(blobs);

我想使用 blobs此 foreach 循环之外的变量,但我收到此消息:blobs doesnot exist in the current context

我决定定义 blobs在 foreach 循环之外:

IEnumerable<IListBlobItem> blobs = new IEnumerable<IListBlobItem>;

foreach (IListBlobItem blobItem in container.ListBlobs())
{
if (blobItem is CloudBlobDirectory)
{
//Console.WriteLine(blobItem.Uri);
CloudBlobDirectory directory = (CloudBlobDirectory)blobItem;
IEnumerable<IListBlobItem> blobs = directory.ListBlobs(true);
}
}

但我收到错误:can not create an instance of the abstract class or interface IEnumerable<IListBlobItem>

你知道我该如何解决这个问题吗?

最佳答案

您可以将 blob 声明为一个空集合,例如数组:

   // Empty
IEnumerable<IListBlobItem> blobs = new IListBlobItem[0];

foreach (IListBlobItem blobItem in container.ListBlobs())
{
if (blobItem is CloudBlobDirectory)
{
CloudBlobDirectory directory = (CloudBlobDirectory)blobItem;
blobs = directory.ListBlobs(true);
}
}

// process either blobs from foreach or an empty collection
await ProcessBlobs(blobs);

关于c# - 在 foreach 循环之外使用 IEnumerable 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58708453/

25 4 0