[C# Path] 文字列の配列、リストからパスを作成する

System.IO.Path.Combineメソッドを使うと指定された文字列型の配列の各要素を \ でつないでパスを作ることができます。

引数には文字列型の配列を指定します。
戻り値は \ で連結された文字列が返ってきます。

using System;
using System.Collections.Generic;
using System.IO;
class Program
{
    public static void Main()
    {
        // ドライブ、フォルダ名が入った文字列型の配列
        var strArray = new string[] { "c:", "yasnote", "source" };
        // Combineメソッドで \ でつなげる
        var dirPath = Path.Combine(strArray);
        Console.WriteLine(dirPath);

        // ドライブ、フォルダ名が入った文字列型のリスト
        var strList = new List<string> { "c:", "yasnote", "source" };
        // リストをCombineメソッドに渡すときはToArrayメソッドで配列に変換して渡す
        dirPath = Path.Combine(strList.ToArray());
        Console.WriteLine(dirPath);
    }
}

出力結果はこんな感じです。

c:\yasnote\source
c:\yasnote\source

また、Combineメソッドの引数には配列ではなく文字列を4つまで指定することができます。この場合も指定された文字列が \ でつなげられた文字列が返ってきます。

using System;
using System.IO;
class Program
{
    public static void Main()
    {
        Console.WriteLine(Path.Combine(@"c\:yasnote", "source"));
        Console.WriteLine(Path.Combine(@"c\:yasnote", "source", "repos"));
        Console.WriteLine(Path.Combine(@"c\:yasnote", "source", "repos", "testProject"));
    }
}

出力結果はこんな感じです。

c\:yasnote\source
c\:yasnote\source\repos
c\:yasnote\source\repos\testProject

C# プログラミング講座に戻る

コメント

タイトルとURLをコピーしました