c# – 如何删除Azure文件存储文件夹中的所有文件?

我正在尝试如何删除Azure文件存储中的文件夹中的所有文件.

CloudFileDirectory.ListFilesAndDirectories()返回IEnumerable的IListFileItem.但这没有多大帮助,因为它没有文件属性或类似功能.

这是我到目前为止:

var folder = root.GetDirectoryReference("myfolder");

if (folder.Exists()) {
    foreach (var file in folder.ListFilesAndDirectories()) {

        // How do I delete 'file'

    }
}

如何将IListFileItem更改为CloudFile,以便调用myfile.Delete()?

解决方法

ListFilesAndDirectories可以返回文件和目录,因此您可以获得这两个文件的基类.然后你可以检查它是什么类型和铸造.请注意,您将要跟踪任何子目录,以便递归删除其中的文件.
var folder = root.GetDirectoryReference("myfolder");

if (folder.Exists())
{
    foreach (var item in folder.ListFilesAndDirectories())
    {         
        if (item.GetType() == typeof(CloudFile))
        {
            CloudFile file = (CloudFile)item;

            // Do whatever
        }

        else if (item.GetType() == typeof(CloudFileDirectory))
        {
            CloudFileDirectory dir = (CloudFileDirectory)item;

            // Do whatever
        }
    }
}

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...