Entwickler-Ecke
C# - Die Sprache - TryParse - C# Anfänger
iTztheBlade - Mo 01.10.12 10:43
Titel: TryParse - C# Anfänger
Hallo Leute - bin neu hier und hab gleich eine Frage an Euch.
Ich habe gestern angefangen, in C# zu programmieren ( meine 1. Sprache ).
Nun habe ich eine Aufgabe, bei der ich gar nicht weiß, wie ich anfangen soll.
Ich musste erst 3 Schleifen (Do, While, For) programmieren, die jeweils die Ganzzahlen zwischen 1 und 100 angeben.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58:
| { using System;
public class Summe { public static void Main() { Combiner c; int Ergebnis = 0;
Console.WriteLine("Bitte wählen sie eine bevorzugte Schleife aus"); Console.WriteLine("ForSchleife 1, WhileSchleife 2, DoSchleife 3. q zum Beenden");
string eingabe = Console.ReadLine();
switch (eingabe) { case "1": {
Console.WriteLine("Wenn die Eingabe 1 ist, dann wähle ForSchleife aus."); c = new ForCombiner(); Ergebnis = c.Sum(0, 100); break; }
case "2": {
Console.WriteLine("Wenn die Eingabe 2 ist, dann wähle WhileSchleife aus."); c = new WhileCombiner(); Ergebnis = c.Sum(0, 100); break; }
case "3": {
Console.WriteLine("Wenn die Eingabe 3 ist, dann wähle DoSchleife aus."); c = new DoCombine1(); Ergebnis = c.Sum(0, 100); break; }
default: {
Environment.Exit(0); break; } }
Console.WriteLine(Ergebnis);
Console.ReadKey(); } } } |
Nun soll am Anfang abgefragt werden, von welcher Zahl bis welcher Zahl ich die Zwischensumme berechnen möchte. Also z.B. von 4 - 77.
Alles soll ich eine Methode mit TryParse.
Zur Verständlichkeit, hier eine meiner Schleifen:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| { class ForCombiner: Combiner { internal override int Sum(int start, int ende) { int summe = 0; int i;
for (i = 1; i <= 100; i++) { summe = summe + i; Console.WriteLine("Zwischensumme {0}: {1}", i, summe);
} Console.WriteLine("Die Summe von {0} ist {1}!", i - 1, summe); return summe; }
} } |
Schonmal vielen Dank für Eure Hilfe.
LG,
Blade
Moderiert von Th69: C#-Tags hinzugefügt
Palladin007 - Mo 01.10.12 12:29
C#-Quelltext
1: 2: 3: 4:
| bool KeinFehler; string text = "1234"; int ergebnis; KeinFehler = int.TryParse(text, out ergebnis) |
Mit
out kannst du eine Variable als Argument übergeben und nach der Ausführung der Methode hast du dort einen neuen Wert drin.
ergebnis muss auch nicht initialisiert sein. Hier:
MSDN -> out (C#-Referenz) [
http://msdn.microsoft.com/de-de/library/t3c3bfhx%28v=vs.80%29.aspx]
Mit dem eigentlichen Rückgabewert erfährst du dann, ob das auch wirklich eine Zahl war und kannst auch drauf reagieren.
Das gibt dir dann die Möglichkeit, direkt zu reagieren, wenn jemand z.B. einen Buchstaben eingegeben hat.
In einer Konsolen-Anwendung würde ich dann eine do-while-Schleife nutzen. Erst mal abfragen, dann wird in der Schleife geprüft, ob es eine Zahl war und wenn nicht, beginnt die Schleife halt von vorne und fragt erneut ab.
Oliver M. - Mo 01.10.12 22:04
iTztheBlade hat folgendes geschrieben : |
Ich habe gestern angefangen, in C# zu programmieren ( meine 1. Sprache ). |
Erstes mal am programmieren und schon so was komplexes??? :suspect: Das ist kein typisches Projekt für Anfänger.
iTztheBlade hat folgendes geschrieben : |
Ich musste erst 3 Schleifen (Do, While, For) programmieren, ... |
Äh...,
do und
while gehören doch zu der gleichen Schleife :gruebel::
entweder:
while (
oder:
do {
Könntest du bitte nochmal dein Problem schildern, ich verstehe nicht was das ganze machen soll oder wofür.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!