Feedback

C# - Multi Combine Ergänzung zu Path.Combine

Veröffentlicht von am 17.05.2010
(0 Bewertungen)
Hiermit kann man in .NET 2.0 in einer kleinen Funktion direkt mehrere Strings zusammen setzen.
GFU-Schulungen  [Anzeige]

Visual Studio Team Foundation Server 2017/2015 (TFS) - Komplett 

C# Komplett

Sie kennen sich in objektorientierter Programmierung aus. Sie schreiben C++ oder Java? Und nun stehen Sie vor der Aufgabe, in C# Anwendungen zu erstellen. Das C# Komplett-Seminar verschafft Ihnen umfassende Programmierkenntnisse in dieser Sprache. Nach der Schulung entwickeln Sie selbständig Anwendungen mit C#. Sie kennen die Datentypen und Klassenbibliotheken der objektorientierten Programmiersprache C#. Der Komplettkurs setzt bei den Grundlagen von C# ein. Sie arbeiten mit Variablen und konvertieren Typen. Multithreading, Delegates, Generics sind nach dem Seminar für Sie kein Geheimnis mehr.

/// <summary>
        /// Combines a unlimited amount of parts to a path string.
        /// </summary>
        /// <param name="paths">The parts of the path to combine.</param>
        /// <returns>Returns the combined path as string.</returns>
        /// <exception cref="ArgumentNullException"></exception>
        /// <exception cref="ArgumentOutOfRangeException"></exception>
public static string MultiCombine(params string[] paths)
        {
            if (paths == null)
            {
                throw new ArgumentNullException("paths", "paths cannot be null");
            }
            if (paths.Length < 2)
            {
                throw new ArgumentOutOfRangeException("paths", "paths cannot be less than 2");
            }

            string currentString = paths[0];

            for (int i = 1; i < paths.Length; i++)
            {
                currentString = System.IO.Path.Combine(currentString, paths[i]);
            }
            return currentString;
        }

5 Kommentare zum Snippet

Raimund Pließnig schrieb am 17.05.2010:
Warum wurde diese Funktion nicht mit einer FOREACH Schleife gemacht? wäre doch eleganter oder?
Firendeath schrieb am 18.05.2010:
Lässt sich streiten, ob das eleganter aussieht...

public static string MultiCombine(params string[] paths)
{
if (paths == null)
{
throw new ArgumentNullException("paths", "paths cannot be null");
}
if (paths.Length < 2)
{
throw new ArgumentOutOfRangeException("paths", "paths cannot be less than 2");
}
string currentString = "";
foreach (string s in paths)
{
if (currentString == "")
string currentString = s;
else

currentString = System.IO.Path.Combine(currentString, paths[i]);
}
return currentString;
}
bigdeak schrieb am 26.05.2010:
Ich nutzer immer string.Empty statt "" für einen leeren string.

string currentString = string.Empty;

foreach (string path in paths)
{
if (currentString == string.Empty)
currentString = path;
else
currentString = System.IO.Path.Combine(currentString, path);
}
Firendeath schrieb am 02.06.2010:
Wieso nimmt man da string.Empty ???
Hab sonst immer "" genommen und bin nie auf irgendein Problem gestoßen...
Stefan Wimmer schrieb am 02.06.2010:
Wenn mans in ne if Anweisung schreibt weiß man dass der Entwickler wirklich string.Empty meint und nicht aus versehen vergessen hat da nen string reinzuschreiben. Gilt bei uns sogar als Convention
 

Logge dich ein, um hier zu kommentieren!