2010-11-22 6 views

Antwort

5

Upgrade auf .Net 4.0, das die hinzufügt.


Wenn Sie in .Net 3.5 stecken, können Sie Path.Combine mehrmals aufrufen.

Wenn Sie eine IEnumerable<string> haben, können Sie

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

Wow, ich wusste nicht, fügten sie foldl 4.0 auf .NET. Nett. – jtdubs

+0

@jtdubs: Was? – SLaks

+1

@jtdubs: Es ist seit C# 3.0 vorhanden. – jason

2

schreiben Ich bin kein C# -Programmierer, aber so etwas wie

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

scheint offensichtlich.

2

Wenn Sie auf .NET 4.0 aktualisieren können, hat es, was Sie suchen.

Ansonsten:

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

und

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

@SLaks: Wow. Ich wusste nichts von dieser Überlastung. Vielen Dank! – jason