Hier ist ein Hilfsmethode, die Sie verwenden können:
public static string CombinePaths(string path1, params string[] paths)
{
if (path1 == null)
{
throw new ArgumentNullException("path1");
}
if (paths == null)
{
throw new ArgumentNullException("paths");
}
return paths.Aggregate(path1, (acc, p) => Path.Combine(acc, p));
}
Alternative Code-Golf-Version (kürzer, aber nicht ganz so klar sind Semantik ein bisschen anders aus Path.Combine
):
public static string CombinePaths(params string[] paths)
{
if (paths == null)
{
throw new ArgumentNullException("paths");
}
return paths.Aggregate(Path.Combine);
}
Dann Sie dies als anrufen:
string path = CombinePaths(path1, path2, path3);
Sollte es nicht effizienter sein, einzelne Arrays zu deklarieren, dann deklarieren Sie 4 verschiedene Variablen? Was könnte der Grund für eine Überlastung von 4 oder 3 Strängen sein? –
@Hasan: Nein, das Erstellen eines Arrays erfordert ein separates Objekt, das später mit dem Garbage Collection-Vorgang abgeglichen werden muss. Das Übergeben von zwei separaten Variablen ist effizienter als das Erstellen eines neuen Arrays mit zwei Referenzen. –
Keine Notwendigkeit zu warten, es ist seit 21.10.09 implementiert :) http://anonsvn.mono-project.com/viewvc?view=revision&revision=144597 –