C#Directory.GetFiles为返回的路径添加额外的文件扩展名

时间:2014-07-19 22:36:07

标签: c# file

目前我正在尝试从指定目录中获取所有文件。我寻找的文件以文件类型.ship结束,但是,我的代码返回" path \ NameOfFiles.ship.ship"我不能为我的生活决定添加额外文件扩展名的位置。

这是我使用的功能

public static List<SaveEntry> GetAllSavesFromProfile(string ProfileName)
{
    if (IsProfileMissing(ProfileName))
    {
        Debug.LogError("Couldn't find save from profile. Check if it exists before calling this function");
        return new List<SaveEntry>();
    }

    List<SaveEntry> ListToReturn = new List<SaveEntry>();

    List<string> SaveEntries = Directory.GetFiles(Application.persistentDataPath + "/Profile_" + ProfileName, "*", SearchOption.TopDirectoryOnly).Where(s => s.EndsWith(".ship", StringComparison.CurrentCultureIgnoreCase)).ToList<string>();

    foreach (string entry in SaveEntries)
    {
        ListToReturn.Add(LoadShip(ProfileName, entry));
    }

    return ListToReturn;
}

我很擅长使用Where功能做错事,但我无法确切确定在哪里。

1 个答案:

答案 0 :(得分:4)

我怀疑你的文件名包含额外的.ship。您可以验证if you change your settings是否显示文件扩展名。

此外,您可以使用搜索模式,而不是使用Where

Directory.GetFiles(Application.persistentDataPath + "/Profile_" + ProfileName, "*.ship", SearchOption.TopDirectoryOnly)