2010-11-22 17 views

答えて

5

overloads you're looking forが追加された.Net 4.0にアップグレードします。


.Net 3.5に陥っている場合は、Path.Combineに複数回電話することができます。あなたはIEnumerable<string>を持っている場合は

、私はC#のプログラマーないんだけど、何か

よう
string s = Path.Combine("str1", Path.Combine("str2", Path.Combine("str3", "str4"))); 

は明らかに思え

string path = strings.Aggregate(Path.Combine); 
+0

うわー、私は彼らが.NET 4.0にfoldlのを追加して実現しませんでした。ニース。 – jtdubs

+0

@jtdubs:何ですか? – SLaks

+1

@jtdubs:それはC#3.0以来存在しています。 – jason

2

を書くことができます。

2

.NET 4.0にアップグレードできる場合は、探しているものがあります。

そうでない場合:

public string Combine(IEnumerable<string> strings) { 
    return strings.Aggregate((x, y) => Path.Combine(x, y)); 
} 

public string Combine(params string[] strings) { 
    return Combine((IEnumerable<string>)strings); 
} 
+0

@SLaks:うわー。その過負荷については知らなかった。ありがとう! – jason

関連する問題