2011年03月18日
川俣晶の縁側技術関連執筆情報『C#ショートコードプログラミング』読者サポート total 4545 count

C#ショートコードプログラミング・補遺・3つ以上の文字列からパスを生成する

Written By: 川俣 晶連絡先

対応バージョン: C# 4.0

 "A","B","C","D.txt"の4つの文字列を結合して、"A\B\C\D.txt"を得たい。ただし、パスセパレータ文字"\"の追加はAPIに任せたい。

OLD CODE: §

using System;

using System.IO;

class Program

{

    static void Main(string[] args)

    {

        string s = Path.Combine("A", "B");

        s = Path.Combine(s, "C");

        s = Path.Combine(s, "D.txt");

        Console.WriteLine(s);

    }

}

NEW CODE: §

using System;

using System.IO;

class Program

{

    static void Main(string[] args)

    {

        string s = Path.Combine("A", "B", "C", "D.txt");

        Console.WriteLine(s);

    }

}

実行結果: §

A\B\C\D.txt

解説: §

 C# 4.0の小さな必殺技の1つです。C# 3.5までのCombineメソッドは引数2つだけですが、C# 4.0では3つ、4つ、任意数の引数バリエーションが増えていて、それらを使うことで複数の文字列からパスを組み立てる手間が減っています。