| |

VB.NET - Ein- und UmsteigerRe: Unterschied in der Schreibweise | |  | Autor: DaveS (Moderator) | Datum: 28.06.05 13:33 |
| Hallo Jake@Net, ja, .Net ist am Anfang schon etwas verwirrend.
Nehmen wir mal an, du hast eine (Fehler-)meldung, die du ausgeben willst (Consoleprogramm oder ein Server, der eine Logdatei schreibt, z.B.).
Du hast die Meldung
Today (datum) I wrote entry number number inforum Forum
(Ist eine Anwendung, die Buch führt über Forumtätigkeiten). Du kannst das so tun
Console.WriteLine("Today (" & Now.ToString() & ") I wrote entry number " & forum.CountOfPosts.ToString() & " in " & form.ForumName & "Forum")
Klappt, ist aber nicht besonders übersichtlicht, und auch ziemlich fehleranfällig, und relativ schwer zu ändern, wenn die Meldung anders werden sollte.
Du kannst es auch so tun:
Console.WriteLine("Today ({0}) I wrote entry number {1} in {2} Forum",Now, forum.CountOfPosts, forum.ForumName)
Ich halte das für viel verständlicher, übersichtlicher, leichter zu ändern und durchaus eine gute Sache. Man braucht auch kein .ToString(), auch wenn man mit Option Strict On arbeitet (sehr empfehlenswert, übrigens).
(Es gibt auch z.B. String.Format(), was ähnlich funktioniert).
Nehmen wir jetzt an, du willst deine Anwendung auch in Deutschland verkaufen (deutsche Foren gibt's ja auch) und willst, dass die Meldung so aussieht:
Heute (datum) habe ich Beitrag Nummer Nummer im forum Forum geschrieben
Bei der ersten Schreibweise musst du die ganze Anweisung umschreiben. Bei der zweiten musst du nur die Meldung selbst übersetzen:
Console.WriteLine("Heute ({0}) habe ich Beitrag Nummer {1} im {2} Forum geschrieben",Now, forum.CountOfPosts, forum.ForumName)
Jetzt kannst du auch problemlos die zwei Strings
"Today ({0}) I wrote entry number {1} in {2} Forum"
"Heute ({0}) habe ich Beitrag Nummer {1} im {2} Forum geschrieben"
als Resourcen ablegen (und dazu noch Französich, Italienisch, Russisch...) weil die Strings fest definiert sind. .Net Resource Management holt für dich dann den String für die eingestellte Sprache und in deinem Programmcode steht nur
Console.WriteLine(messageString,Now, forum.CountOfPosts, forum.ForumName)
was für alle Sprachen gültig ist (nun ja, ganz so einfach ist es nicht immer, und code und Anweisungen Resourcen abzulegen und auszulesen findest du hier oder im Fortgeschrittenen Forum).
Fazit: für den Anfang und für einfache Anwendungen und Meldungen reicht die erste Schreibweise, programmtechnisch besser ist die zweite, und bringt bei fortgeschrittenen Anwendungen erhebliche Vorteile.
________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
TOP! Unser Nr. 1 
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|