【问题标题】:return string array of cloudfiles in directory azure file storage c#在目录 azure 文件存储 c# 中返回 cloudfiles 的字符串数组
【发布时间】:2017-11-22 17:17:19
【问题描述】:
  public IEnumerable<IListFileItem> GetFilesInDirectory()
    {
        var directory = GetFileShareDirectory();
        IEnumerable<IListFileItem> allFilesInDirectory = directory.ListFilesAndDirectories();
        List<IListFileItem> allFiles = new List<IListFileItem>();

        foreach (var file in allFilesInDirectory)
        {
            string[] fileType = file.GetType().ToString().Split('.');
            string type = fileType[fileType.Length - 1];
            if (type == "CloudFile")
            {
                allFiles.Add(file);
            }
        }
        return allFiles;
    }

此代码返回 azure 上文件共享目录中的所有文件,有什么办法可以将其更改为数组?我尝试的方法需要一个数组。请指教,谢谢

【问题讨论】:

  • 你试过allFiles.ToArray()吗?
  • 在返回之前将 Ienumerable 转换为 Array return allFiles.ToArray();这对你有帮助吗?
  • 不,这些没有帮助
  • 为什么不呢?至少解释一下是什么问题

标签: c# arrays azure file-storage


【解决方案1】:

有什么办法可以将其更改为数组吗?

如果要在调用该方法时得到一个数组,除了添加ToArray方法外,还需要将返回类型改为IListFileItem[]

public IListFileItem[] GetFilesInDirectory()
{
    var directory = GetFileShareDirectory();
    IEnumerable<IListFileItem> allFilesInDirectory = directory.ListFilesAndDirectories();
    List<IListFileItem> allFiles = new List<IListFileItem>();

    foreach (var file in allFilesInDirectory)
    {
        string[] fileType = file.GetType().ToString().Split('.');
        string type = fileType[fileType.Length - 1];
        if (type == "CloudFile")
        {
            allFiles.Add(file);
        }
    }
    return allFiles.ToArray();
}

【讨论】:

  • 有什么更新吗?你试过我的建议了吗?如果您还有其他问题,请随时告诉我。
猜你喜欢
  • 2021-08-23
  • 2015-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-14
  • 2020-08-01
  • 1970-01-01
  • 2017-09-25
相关资源
最近更新 更多