vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

C# Ecke
Konsolenprogramm von VB.NET in C# umschreiben 
Autor: Sloorg
Datum: 07.05.16 03:28

Hallo zusammen!

Ich möchte mal etwas in C# reinschnuppern und da dachte ich, ich versuche mal, ein paar Programme von VB.NET in C# umzuschreiben, aber klappt nicht so ganz. Weiß jmd. vllt. wie's geht? Merci im Voraus! ;>)

OK, hier ein Programm (Aufgabe) in VB.NET:

Öffnen Sie das Projekt x und ergänzen Sie den Quelltext um folgende Variablen:
Variable vom Typ String mit dem Namen name
Variable vom Typ String mit dem Namen vorname
Variable vom Typ Integer mit dem Namen tag
Variable vom Typ Integer mit dem Namen monat
Variable vom Typ Integer mit dem Namen jahr

Ändern Sie den Quelltext, damit die Werte für die Variablen mit der Tastatur eingelesen werden können.
Lassen Sie nach erfolgter Eingabe der Werte alles im Konsolenfenster ausgeben.

in VB.NET:

Dim name as String
Dim vorname as String
Dim tag as Integer
Dim monat as Integer
Dim jahr as Integer
 
name = ReadLine()
vorname = ReadLine()
tag = ReadLine()
monat = ReadLine()
jahr = ReadLine()
 
WriteLine(vorname & " " & name & " " & tag & " " & monat & " " & jahr)
in C#:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace x
{
class Program
{
static void Main(string[] args)
{
string name, vorname;
int tag, monat, jahr;

... ab hier klappt's dann nicht mehr.

Weiß jmd. vllt., wie man den Rest in C# umschreiben kann?


name = ReadLine()
vorname = ReadLine()
tag = ReadLine()
monat = ReadLine()
jahr = ReadLine()

WriteLine(vorname & " " & name & " " & tag & " " & monat & " " & jahr)

Schöne Grüße und vielen Dank!
Sloorg.
 
 
 


Beitrag wurde zuletzt am 07.05.16 um 03:30:27 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Konsolenprogramm von VB.NET in C# umschreiben 
Autor: Sloorg
Datum: 07.05.16 03:52

// Von einem VB.NET to C#-Converter bekam ich dieses Ergebnis (geht aber nicht; bekommt man Fehlermeldungen):

name = ReadLine();
vorname = ReadLine();
tag = ReadLine();
monat = ReadLine();
jahr = ReadLine();
WriteLine((vorname + (" "
+ (name + (" "
+ (tag + (" "
+ (monat + (" " + jahr)))))))));

Beitrag wurde zuletzt am 07.05.16 um 03:54:59 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Beispiel: Konsolen-Anwendung (VB.NET und C#) 
Autor: Manfred X
Datum: 07.05.16 06:15

Hallo!

Dir fehlen elementare Kenntnisse!

Zunächst ein Beispiel als VB-Variante:
Public Class MainClass
 
    Public Shared Sub main()
        Dim name As String
        Dim vorname As String
 
        Dim tag As Integer
        Dim monat As Integer
        Dim jahr As Integer
        Dim dt As Date
 
        Console.WriteLine("Name eingeben: ")
        name = Console.ReadLine()
        Console.WriteLine("Vorname eingeben: ")
        vorname = Console.ReadLine()
 
        tag = InputNumber("Tag eingeben:", 1, 31)
        monat = InputNumber("Monat eingeben:", 1, 12)
        jahr = InputNumber("Jahr eingeben:", 1950, 2020)
 
        Try
            dt = New Date(jahr, monat, tag)
            Console.WriteLine(vorname & " " & name & " " & _
              tag.ToString & "." & monat.ToString & "." & jahr.ToString)
        Catch ex As Exception
            Console.WriteLine("Unzulässiges Datum")
        End Try
 
        Console.ReadLine()
    End Sub
 
 
    Private Shared Function InputNumber(ByVal label As String, _
                        min As Integer, max As Integer) As Integer
 
        Dim ok As Boolean, number As Integer
 
        Do
            Console.WriteLine(label)
            ok = Integer.TryParse(Console.ReadLine(), number) _
                 AndAlso (min <= number And max >= number)
        Loop While Not ok
 
        Return number
    End Function
 
End Class
Entsprechend die C#-Variante:
using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
        string name;
        string vorname;
        int tag;
        int monat;
        int jahr;
        DateTime dt;
 
        Console.WriteLine("Name eingeben: ");
        name = Console.ReadLine();
        Console.WriteLine("Vorname eingeben: ");
        vorname = Console.ReadLine();
 
        tag = InputNumber("Tag eingeben:", 1, 31);
        monat = InputNumber("Monat eingeben:", 1, 12);
        jahr = InputNumber("Jahr eingeben:", 1950, 2020);
 
        try {
            dt = new DateTime(jahr, monat, tag);
            Console.WriteLine(vorname + " " 
                            + name + ' ' 
                            + tag.ToString() + '.' 
                            + monat.ToString() + '.' 
                            + jahr.ToString());
        }
        catch 
        {
            Console.WriteLine("Unzulaessiges Datum");
        }
 
        Console.ReadLine();
    }
 
 
    private static int InputNumber(string label, int min, int max) 
        {
            bool ok; int number; 
            ok = false;
            number = -1;
 
            while (!ok)
            {
                Console.WriteLine(label);
                ok = Int32.TryParse(Console.ReadLine(), out number) 
                        && ((min <= number) 
                        && (max >= number));
            } 
 
            return number;
        }
    }               
}
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beispiel: Konsolen-Anwendung (VB.NET und C#) 
Autor: Sloorg
Datum: 07.05.16 07:09

Wooow - mit 3 os!

Hallo Manfred,

da bin ich ja echt überrascht ... diese Code-Beispiele muss ich gleich mal studieren!!!
Scheinst ja ein echter Pro zu sein - und das noch in mehreren Sprachen. Cool! Ich würd's halt gern mal lernen, aber is wohl ein ziemlich weiter Weg, hm?
Hast du vllt. ein paar Tips, wie ich mich verbessern kann?
Auf jeden Fall möcht ich mich auch mal mit C# befassen, wenn das schon die .NET-Hauptsprache ist, wie ich gelesen hab. Is mir auch einiges bekannt, hatte mal nen Kurs in C - aber ewig her.

Auf jeden Fall merci! :thankful:

Salut und 'n schönes WE!
Sloorg!

PS: Hättest du bitte vllt. noch ein paar erklärende Worte dazu? Wär cool! ;>)

Beitrag wurde zuletzt am 07.05.16 um 07:24:10 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beispiel: Konsolen-Anwendung (VB.NET und C#) 
Autor: Manfred X
Datum: 07.05.16 14:31

Deine VB-Codezeilen in C# zu übersetzen ist trivial.
Was soll da erklärt werden?

Ich habe auf Basis dieser Codezeilen ein winziges Konsolenprogramm
erstellt und in C# übersetzt.

Übrigens hat "C#" nicht mit der "klassischen" Programmiersprache "C"
zu tun; lediglich manche Syntaxeigenarten sind übernommen worden.

Prinzipiell werden Benutzereingaben (Zeichenfolgen) in Programmen
daraufhin überprüft, ob sie den Anforderungen entsprechen (Datentyp,
Format, Ausprägung, Kompatibilität mit aktueller Datensituation usw.)

Dafür stellt das Framework geeignete Methoden zur Verfügung.

Ein Datum würde man direkt formatiert abfragen:
"Geben Sie ein Datum ein ("tt.mm.jj"):"
Die eingegebene Zeichenfolge kann man mit "Date.Tryparse" auf
Gültigkeit prüfen und zugleich konvertieren.

Wenn man für die Ausgabe auf dem Display eine Zeichenfolge aus
verschiedenen Variablen-Werten zusammenstellen will, ist eine
Zeichenfolgenkonvertierung (z.B. "ToString"-Methode) erforderlich.
Für das Kombinieren dieser Zeichenfolgen steht im Framework
die "Stringbuilder"-Klasse zur Verfügung. Es gibt zudem Formatierungs-
Methoden (z.B. für numerische Werte oder Datums-Angaben).
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beispiel: Konsolen-Anwendung (VB.NET und C#) 
Autor: Sloorg
Datum: 08.05.16 00:46

OK! Wie ich sehe, ähneln sich einige Dinge in VB und C#, wie z. B. Console.WriteLine etc. und es gibt auch eine Try - Catch-Fehlerbehandlungsroutine.
Was mir gerade einfällt: In VB kann man doch die Imports-Anweisung verwenden (Imports System.Console) um Tipparbeit zu sparen - gibt es da in C# etwas Ähnliches? Hab's mit "using" versucht, aber das geht leider nicht...
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beispiel: Konsolen-Anwendung (VB.NET und C#) 
Autor: Manfred X
Datum: 08.05.16 02:38

Für statische Klassen geht das ab VS 2015 C#6 mit using static
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beispiel: Konsolen-Anwendung (VB.NET und C#) 
Autor: Sloorg
Datum: 09.05.16 16:35

Ahso, ok. Merci für die Info und die Einsteigerhilfe. Jetzt kann ich anhand deines Beispielprogramms mal etwas üben und andere kl. Übungsprogramme erstellen.

Salut, Sloorg.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 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