C# 在不使用GetParent()的情况下修剪最后一个目录/文件夹
我试图模拟“cd..”的功能,但不使用Getparent() 输入:/var/mobile/Documents/ 实际输出:/var/mobile/Documents/ 所需输出:/var/mobile/C# 在不使用GetParent()的情况下修剪最后一个目录/文件夹,c#,iphone,filesystems,C#,Iphone,Filesystems,我试图模拟“cd..”的功能,但不使用Getparent() 输入:/var/mobile/Documents/ 实际输出:/var/mobile/Documents/ 所需输出:/var/mobile/ public ArrayList JumpUpDirectory() { ArrayList directoryListing = new ArrayList(); StringBuilder storedPath = new StringBui
public ArrayList JumpUpDirectory()
{
ArrayList directoryListing = new ArrayList();
StringBuilder storedPath = new StringBuilder();
foreach (var directories in storedPreviousDirectory.Split('/'))
{
storedPath.Append(directories + "/");
}
storedPath.Replace("//", "/");
directoryListing = iPhoneFileSystemBrowse(storedPreviousDirectory);
return directoryListing;
}
试试这个:
string input = "/var/mobile/Documents/";
var parts = input.Split(new []{'/'}, StringSplitOptions.RemoveEmptyEntries).ToList();
parts.RemoveAt(parts.Count - 1);
string output = string.Concat("/", string.Join("/", parts), "/");
好的,您遇到了什么问题?上面的代码没有生成/var/mobile/,这正是我希望它做的。为什么不使用GetParent?如果您打算排除故意设计用于获取父目录的方法,您应该告诉我们原因。请详细解释问题。如果不能生成所需的输出,它会生成什么?我使用的是一个不同的文件系统,没有可用的GetParent。它生成的内容与输入到其中的内容相同。如果不删除空条目,则在完成后不需要将其重新添加。非常接近,但我需要返回arrayList。它传递给的另一个函数是期望,然后使用arrayList执行一系列操作。@Servy True,但我希望我的数据是干净的:)@user2216791您需要返回directoryListing=iPhoneFileSystemBrowse(输出)