Erhalten Sie ein Akronym aus einer Zeichenfolge in C # mit LINQ?

7

So würde ich eine Funktion schreiben, um ein Akronym im Java-Stil zu schreiben:

%Vor%

Gibt es eine elegantere Art, wie ich es mit LINQ oder mit einer eingebauten C # -Funktion machen kann?

    
Nick Heiner 22.10.2010, 19:32
quelle

6 Antworten

13

Hier sind ein paar Optionen

Eine einzige .NET 4 Option mit string.Join:

%Vor%

In .NET 3.5 (oder 4.0) können Sie Folgendes tun:

%Vor%

Eine andere Option (meine persönliche Wahl), basierend auf Ihrer ursprünglichen Logik:

%Vor%     
Reed Copsey 22.10.2010, 19:37
quelle
8

Hier ist eine Technik, die ich bisher nicht gesehen habe. Es hängt von der Annahme ab, dass alle Buchstaben, die im Akronym stehen sollten (und nur diese Buchstaben), in der Zeichenfolge in Großbuchstaben sind.

%Vor%     
Joel Mueller 22.10.2010 20:18
quelle
4

Sie können die LINQ-Aggregate-Methode dazu verwenden, dies auf eine ziemlich elegante Weise zu tun.

In etwa so:

%Vor%     
mtreit 22.10.2010 19:49
quelle
4

Sie können dies ganz gut mit einer Regex / Linq-Kombination tun:

%Vor%     
spender 22.10.2010 19:38
quelle
2

LINQ kann dafür arbeiten, aber generell finde ich es besser, string -Werte mit StringBuilder instance aufzubauen. Auf diese Weise können Sie unnötige string -Zuordnungen vermeiden.

%Vor%     
JaredPar 22.10.2010 19:39
quelle
0
%Vor%     
Yuriy Faktorovich 22.10.2010 19:36
quelle

Tags und Links