Einen String in C # verschieben

8
%Vor%

Ich muss die Saite um eine Stelle nach links verschieben, also habe ich die Saite: "BCDEFGHA" Also habe ich darüber nachgedacht, den String in ein Char-Array zu verwandeln und mich von dort aus arbeiten zu lassen, aber ich bin mir nicht sicher, wie ich das erfolgreich machen könnte. Ich bin mir ziemlich sicher, dass ich eine for-Schleife brauche, aber ich brauche etwas Hilfe, um die Char-Sequenz um ein Feld nach links zu verschieben.

    
user2104751 24.02.2013, 15:50
quelle

8 Antworten

8

Wie wäre es damit?

%Vor%     
John Woo 24.02.2013, 15:52
quelle
7

Sie können dies versuchen:

%Vor%

Als Erweiterungsmethode:

%Vor%

Dann können Sie verwenden:

%Vor%     
Alina B. 24.02.2013 15:54
quelle
5

Der Algorithmus zur Lösung dieser Art von Problem mit Shift-Positionen n kopiert die Zeichenfolge, verkettet sie und ruft die Teilzeichenfolge ab. ( n & lt; length (string) )

%Vor%

Wenn Sie die Position n verschieben möchten, können Sie dies tun

%Vor%     
zsong 24.02.2013 16:29
quelle
3

Persönlich würde ich das tun:

%Vor%     
Grant Clements 24.02.2013 15:54
quelle
2

Sie können die Tatsache nutzen, dass string ist IEnumerable<char> :

%Vor%     
driis 24.02.2013 15:58
quelle
1

Die StringBuilder-Klasse bietet Ihnen eine bessere Leistung

%Vor%     
Max A. 24.02.2013 16:00
quelle
1

Unter Methoden nehmen Sie die Zahl n, die angibt, wie oft Sie die Zeichenfolge verschieben / rotieren möchten. Ich habe die MOD nach Länge der Zeichenfolge genommen, wenn die Anzahl größer als die Länge der Zeichenfolge ist.

%Vor%

/// Sie können die Skip- und Take-Funktionen der String-Operationen verwenden

%Vor%     
Gurunath Navale 15.09.2013 18:40
quelle
0

Sie können das auch mit einer einfachen LINQ-Anweisung erreichen:

Hinweis: Das Gleiche kann mit einer einfachen for- und / oder while-Schleife

erreicht werden %Vor%     
H.G.Kh 07.05.2017 16:18
quelle

Tags und Links