Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1563 | Anzahl registrierter User: 1895 | Besucher online: 119
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Multi Combine Ergänzung zu Path.Combine


Autor: bigdeak
Sprache: C#
Bewertung:
noch nicht bewertet
Anzahl der Aufrufe: 2485
  
Kick it on dotnet-kicks.de  

Beschreibung:

Hiermit kann man in .NET 2.0 in einer kleinen Funktion direkt mehrere Strings zusammen setzen.

Abgelegt unter: Path, Multi, Combine, Path.Combine, MultiCombine, .NET 2.0.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/// <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;
        }
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

Raimund Pließnig schrieb am:  17.05.2010 15:11:12

Warum wurde diese Funktion nicht mit einer FOREACH Schleife gemacht? wäre doch eleganter oder?
Firendeath schrieb am:  18.05.2010 16:06:27

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 11:32:07

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 15:17:34

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 15:24:46

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


schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.