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:44] wikiadmin [Zugriff auf String] |
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 1386: | Zeile 1389: | ||
==== Zugriff auf String ==== | ==== Zugriff auf String ==== | ||
Ein Beispiel: | Ein Beispiel: | ||
- | <code C# [enable_line_numbers=" | + | <code C# [enable_line_numbers=" |
using System; | using System; | ||
class TestClass | class TestClass | ||
Zeile 1408: | Zeile 1411: | ||
Wir sehen in diesem Beispiel, wie auch Operatoren, hier **+=**, auf Strings angewendet werden können. | Wir sehen in diesem Beispiel, wie auch Operatoren, hier **+=**, auf Strings angewendet werden können. | ||
- | xx | + | |
- | ===== Formatierung von Daten ===== | + | ---- |
+ | {{: | ||
+ | ---- | ||
+ | |||
+ | 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 ==== |