Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
start:visualstudio2017:programmieren:csharp [2018/10/03 13:24] wikiadmin [Stringzuweisungen] |
start:visualstudio2017:programmieren:csharp [2021/12/16 13:30] (aktuell) wikiadmin [Referenz- oder Value- Typ?] |
||
---|---|---|---|
Zeile 226: | Zeile 226: | ||
---- | ---- | ||
+ | |||
+ | ===== Referenz- oder Value- Typ? ===== | ||
+ | |||
====== Klassen und Objekte ====== | ====== Klassen und Objekte ====== | ||
Zeile 1385: | Zeile 1388: | ||
==== Zugriff auf String ==== | ==== Zugriff auf String ==== | ||
- | ===== Formatierung von Daten ===== | + | Ein Beispiel: |
+ | <code C# [enable_line_numbers=" | ||
+ | using System; | ||
+ | class TestClass | ||
+ | { | ||
+ | | ||
+ | { | ||
+ | string myStr = "Hallo Welt."; | ||
+ | string xStr = string.Empty; | ||
+ | |||
+ | for(int i=0; i< | ||
+ | { | ||
+ | | ||
+ | if(x != " | ||
+ | xStr += x; | ||
+ | } | ||
+ | |||
+ | Console.WriteLine(xStr); | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | Wir sehen in diesem Beispiel, wie auch Operatoren, hier **+=**, auf Strings angewendet werden können. | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | ---- | ||
+ | |||
+ | Strings sind nicht veränderbar (immutable). Das bedeutet, dass bei jeder Stringfunktion ein neues Objekt angelegt wird. Sogar ein Leerstring **"" | ||
+ | Häufig muss geprüft werden, ob ein String null oder leer ist. Dazu stehen die Methoden **IsNullOrEmpty** zu Verfügung: | ||
+ | <code C# [enable_line_numbers=" | ||
+ | if (!string.IsNullOrEmpty(myStr)) | ||
+ | ... | ||
+ | </ | ||
+ | .NET 4 hat eine weitere Methode mit demselben Zweck: | ||
+ | <code C# [enable_line_numbers=" | ||
+ | if (!string.IsNullOrWhitespace(myStr)) | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | ---- | ||
+ | |||
+ | ===== Formatierung von Daten ==== | ||
==== Standardformate ==== | ==== Standardformate ==== | ||
+ | |||
+ | Datenformatierung haben wir bereits in Codebeispielen angetroffen. | ||
+ | Die Angaben, welche Art von Formatierung gewünscht wird, geschied im Platzhalter durch die Angeben eines Formatzeichens und ggf. einer Präzisionsangabe für die Anzahl Stellen, die ausgegeben werden sollen. Beim folgenden Beispiel wollen wir, dass die Zahlen korrekt untereinander stehen: | ||
+ | |||
+ | <code C# [enable_line_numbers=" | ||
+ | // Beispiel Formatierung 1 | ||
+ | using System; | ||
+ | class TestClass | ||
+ | { | ||
+ | | ||
+ | { | ||
+ | int a,b | ||
+ | Console.WriteLine(" | ||
+ | a = Convert.ToInt32(Console.ReadLine()); | ||
+ | Console.WriteLine(" | ||
+ | b = Convert.ToInt32(Console.ReadLine()); | ||
+ | Console.WriteLine(" | ||
+ | Console.WriteLine(" | ||
+ | Console.WriteLine(" | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Bei der Eingabe von 75 u nd 1024 würde die Ausgabe folgendermassen aussehen: | ||
+ | |||
+ | <code C# [enable_line_numbers=" | ||
+ | Die Zahlen lauten: | ||
+ | Zahl 1: 00075 | ||
+ | Zahl 2: 01024 | ||
+ | </ | ||
+ | |||
+ | Im Falle einer Hexadezimaleausgabe würde die ganze Zahl auch automatisch umgerechnet: | ||
+ | |||
+ | <code C# [enable_line_numbers=" | ||
+ | // Beispiel Formatierung 2 | ||
+ | using System; | ||
+ | class TestClass | ||
+ | { | ||
+ | | ||
+ | { | ||
+ | int a,b | ||
+ | Console.WriteLine(" | ||
+ | a = Convert.ToInt32(Console.ReadLine()); | ||
+ | Console.WriteLine(" | ||
+ | b = Convert.ToInt32(Console.ReadLine()); | ||
+ | Console.WriteLine(" | ||
+ | Console.WriteLine(" | ||
+ | Console.WriteLine(" | ||
+ | } | ||
+ | |||
+ | // Ein weiteres Formatierungsbeispiel: | ||
+ | // {0, 20:5 } 0=Index, 20=Aligment 5=Format | ||
+ | // index -> Dieses Zeichen wird vorangestellt. | ||
+ | // Aligment -> Es werden 20 Stellen dargestellt. | ||
+ | // Format -> 5 Stellen werden dargestelllt mit Index Zeichen voran. | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Die Formatierungszeichen und ihre Bedeutung: | ||
+ | |||
+ | ^Zeichen^Formatierung^ | ||
+ | |C,c|Hier noch die Bedeutung eintragen.....| | ||
+ | |||
==== Selbstdefinierte Formate ==== | ==== Selbstdefinierte Formate ==== | ||
==== Ausrichtung ==== | ==== Ausrichtung ==== |