2015-07-28 11 views
5
using System; 

class HelloCSharp 
{ 
    static void Main() 
    { 
     Console.WriteLine("Hello C#"); 
    } 
} 

ich die Ausgabe beginnen soll: C#: Ich möchte jeden Buchstaben eines Wortes in einer neuen Zeile

H 
e 
l 
l 
o 

C 
# 

aber jeder Brief sollte in einer neuen Zeile beginnen

Ich bin neu weiß ich aber ich suche weiter und finde keine Antwort. Sollte es etwas mit Environment.NewLine sein?

+0

durchlaufen Sie die Zeichen in der Zeichenfolge und verwenden Sie 'Environment.NewLine', wie Sie vermutet haben. – user1666620

Antwort

11

Hier gehen Sie:

string str = "Hello C#" 
char[] arr = str.ToCharArray(); 

foreach (char c in arr) 
{ 
    Console.WriteLine(c); 
} 
+0

Nun, das funktioniert zumindest mit denen im BMP. Hoffe, du bekommst nichts außerhalb, noch Multi-Codepunkte. – Deduplicator

5

eine Funktion eine Schleife durch einen String schreiben. Wie so:

void loopThroughString(string loopString) 
{ 
    foreach (char c in loopString) 
    { 
     Console.WriteLine(c); 
    } 
} 

jetzt können Sie diese Funktion aufrufen:

loopThroughString("Hello c#"); 

EDIT

Abschnitt, wenn Sie wie Linq können Sie die Zeichenfolge in eine Liste der Ein-Zeichenketten drehen und füge es zusammen, indem man zwischen jedem Zeichen neue Zeilen hinzufügt und diese auf der Konsole

string myString = "Hello c#"; 
List<string> characterList = myString.Select(c => c.ToString()).ToList(); 
Console.WriteLine(string.Join("\n", characterList)); 
5

Implementierung von Join Methode:

var text = "Hello C#".ToCharArray(); 
var textInLines = string.Join("\n", text); 

Console.WriteLine(textInLines); 
1

Vielen Dank an alle, aber alle Optionen, die Sie sieht kompliziert etwas gegeben haben. Ist das nicht einfacher:

const string world = "Hello World!"; 
for (int i = 0; i < world.Length; i++) 
    { 
     Console.WriteLine(world[i]); 
    } 

Ich frage nur, weil ich gerade begonnen haben, zu lernen und ist nicht die effektivste und schnellste Weg, ein Programm, das am besten zu schreiben? Ich weiß, dass es viele Möglichkeiten gibt, etwas zum Laufen zu bringen.

0

Echte Männer verwenden nur Reguläre Ausdrücke, für alles! :-)

string str = "Hello\nC#"; 
string str2 = Regex.Replace(str, "(.)", "$1\n", RegexOptions.Singleline); 
Console.Write(str2); 

Diese regelmäßige Suchausdruck für ein beliebiges Zeichen (.) und ersetzen Sie es mit dem gefundenen Zeichen plus ein \n ($1\n)

(nein, bitte ... es ist falsch ... Sie Verwenden Sie keine regulären Ausdrücke in C#, außer Sie sind wirklich verzweifelt.

+3

wie der alte Witz geht - Sie haben eine Regex verwendet, um ein Problem zu lösen. Jetzt hast du 2 Probleme. – user1666620