using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
//此工程的路径为:E:\code\csharp\pathTest
namespace pathTest
{
class Program
{
static void Main(string[] args)
{
//获取当前工作路径,filePath:E:\\code\\csharp\\pathTest\\pathTest\\bin\\Debug\\,即pathTest.exe的位置
string filePath = new DirectoryInfo("./").FullName;
//filePath: E:\\code\\csharp\\pathTest\\pathTest\\,获取当前工作路径的上两级路径,一个../代表上一级,两个代表上两级
filePath = new DirectoryInfo("../../").FullName;
//filePath: E:\\code\\csharp\\pathTest\\pathTest
filePath = new DirectoryInfo("....").FullName;
//filePath: E:\\code\\csharp\\pathTest\\pathTest\\bin\\
filePath = new DirectoryInfo("../").FullName;
//filePath: E:\\code\\csharp\\pathTest\\pathTest\\bin
filePath = new DirectoryInfo("..").FullName;
//filePath:E:\\code\\csharp\\pathTest\\pathTest\\bin\\Debug\\
filePath = System.IO.Directory.GetCurrentDirectory();
//filePath: E:\\code\\csharp\\pathTest\\pathTest\\bin\\Debug\\
filePath = System.IO.Path.GetFullPath("./");
//filePath: E:\\code\\csharp\\pathTest\\pathTest\\bin\\
filePath = System.IO.Path.GetFullPath("../");
return;
}
}
}
无论用哪一种方法,./代表当前工作路径,即EXE文件所在的文件夹,../代表上一级路径,../../代表上上一级路径或者上两级路径。而..与../的区别是在返回值,使用..作为参数时,返回的字符串最后没有包括“\\”,而使用../作为参数时,返回的字符串最后包含“\\”,但二者其实使用效果是一样的,都可以达到获取路径的目的。同理,....和../../作为参数是等效的,差别也只是返回值的最后的“\\”。
网友评论