c#获取路径

2018-12-18  本文已影响8人  平凡的鱼仔
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文件所在的文件夹,../代表上一级路径,../../代表上上一级路径或者上两级路径。而..../的区别是在返回值,使用..作为参数时,返回的字符串最后没有包括“\\”,而使用../作为参数时,返回的字符串最后包含“\\”,但二者其实使用效果是一样的,都可以达到获取路径的目的。同理,....和../../作为参数是等效的,差别也只是返回值的最后的“\\”。

上一篇下一篇

猜你喜欢

热点阅读