(Andere haben erklärt, warum es nicht funktioniert.
)
Ihre Frage nicht ganz Sinn im Moment machen - es ist nicht klar, ob Sie sind tatsächlich mit einem IEnumerable<char>
oder einem IEnumerable<string>
handeln. (Ihr Text schlägt IEnumerable<string>
vor; Ihr Code schlägt IEnumerable<char>
vor). Wenn es eine IEnumerable<string>
ist und Sie verwenden .NET 4, dann ist es ganz einfach:
string combined = string.Join("", list.Take(50));
Wenn Sie .NET 3.5 verwenden, es ist immer noch recht einfach:
string combined = string.Join("", list.Take(50).ToArray());
Offensichtlich etwas wie " , "wenn Sie ein Trennzeichen zwischen den Zeichenfolgen möchten."
Wenn Sie sich mit einem allgemeinen IEnumerable<char>
tun dann
string combined = new string(chars.Take(50).ToArray());
verwenden Wenn Sie sind eigentlich mit einem String den Umgang mit zu beginnen, verwenden Substring
:)
'Remove'? Ich denke, du meinst "Substring"? – Timwi
@Greg Linq ist ein deklaratives Framework. das ist manchmal überraschendes Zeug für imperativ orientierte Entwickler. – Andrey
Dies wird nicht kompiliert, wenn 'somestring' vom Typ' IEnumberable 'ist. Die Zeichenfolgenklasse hat keinen überladenen Konstruktor, der ein Zeichenfolgenarray verwendet. –