Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#取下1个目录_C# - Fatal编程技术网

C#取下1个目录

C#取下1个目录,c#,C#,我已经尝试了几种方法来实现这一点,但这里是 我有以下目录: c:\1\2\3 我需要进入这个目录: c:\1\2 并非总是只有3个目录,可能是这样的: Console.WriteLine(Directory.GetParent(@"c:\one\two\three\four\five").FullName); c:\1\2\3\4\5 其中我需要: c:\1\2\3\4 总是一个目录下来 有人有什么建议吗 谢谢 Eroc您正在查找。您可以使用DirectoryInfo的属性或静态方法: 另外,

我已经尝试了几种方法来实现这一点,但这里是

我有以下目录:

c:\1\2\3

我需要进入这个目录:

c:\1\2

并非总是只有3个目录,可能是这样的:

Console.WriteLine(Directory.GetParent(@"c:\one\two\three\four\five").FullName);
c:\1\2\3\4\5

其中我需要:

c:\1\2\3\4

总是一个目录下来

有人有什么建议吗

谢谢 Eroc

您正在查找。

您可以使用
DirectoryInfo
的属性或静态方法:


另外,如果您对启动路径感兴趣,可以使用AppDomain.CurrentDomain.BaseDirectory或Application.StartupPath(WinForms)

您可以使用如下方法:

Console.WriteLine(Directory.GetParent(@"c:\one\two\three\four\five").FullName);
结果=>

c:\one\two\three\four

请记住检查parent是否为null(如果您的输入目录为root)。实际上,您应该使用parent.FullName来获取“c:\one\two\three\four”字符串。可能是我所拥有的内容导致了问题。我正在尝试获取以下内容的父项:System.Reflection.Assembly.getExecutionGassembly().Location)如果我这样做了,则此操作有效:Path.GetDirectoryName(Path.GetDirectoryName(System.Reflection.Assembly.getExecutionGassembly().Location))我不确定这是否正确,但…似乎有点过分--请记住检查父目录是否为null(如果输入目录为根目录)。
c:\one\two\three\four