2013-07-26 10 views
8

Sehr einfache Erweiterung Methode Kompilieren nicht:string.Join - "kann nicht von IEnumerable in String konvertieren []"

public static string Join(this string text, params string[] stringsToJoin) 
{ 
    return String.Join(", ", stringsToJoin.Where(s => !string.IsNullOrEmpty(s))); 
} 

ich „kann nicht konvertieren von 'System.Collections.Generic.IEnumerable' auf‚string [ ] '"

Was fehlt mir?

+4

Sind Sie .NET 3.5 oder früher verwenden? [String.Join-Methode (String, IEnumerable )] (http://msdn.microsoft.com/en-us/library/dd783876.aspx) wurde in .NET 4.0 – dtb

+1

hinzugefügt, wenn Sie _really_ wollte, dass mehr zu machen robust, sollten Sie überprüfen, ob 'stringsToJoin'' null' ist, kann es passieren. Und du solltest wahrscheinlich irgendwo 'text' verwenden. ;) –

Antwort

11

Die overload von String.Join, die nur .NET 4.0 hinzugefügt wurde ein IEnumerable<String> akzeptiert. Es scheint, dass Sie gegen eine frühere Version kompilieren.

Der einfachste Weg, dies zu beheben und es mit .NET 3.5 kompatibel zu machen wäre einfach .ToArray() zu nennen:

public static string Join(this string text, params string[] stringsToJoin) 
{ 
    return String.Join(", ", stringsToJoin.Where(s => !string.IsNullOrEmpty(s)) 
              .ToArray()); 
} 
+0

Ich benutze .NET 3.5, das erklärt es also! Vielen Dank!! –

Verwandte Themen