Anton S.
Status: Super-Blogger, Super-Tester, Moderator
Rang: Android Gottheit
Beiträge: 1.721
Eintrittsdatum: 06.03.2009
Modell: Samsung Galaxy S2 (I9100)
Firmware: 4.0.3
Mod: wechselnd
Kernel: -
Build: -
Provider: -
|
Mal was anderes: C# args-Argumente
verfasst am 01.12.2009 20:17:49
Hallo zusammen, wir haben bei AndroidPit ja ein paar Programmier Götter die vielleicht auch jetzt bereit sind mir ein wenig zu helfen. 1. Semester heißt C# programmieren bis zum exzess (oder Acces  M$ ist es ja  ), Java ist dann ab dem 3. dran. Ich habe soeben meine 2. Hausarbeit fertiggestellt. Sinn und Zweck: Zwei mit Zahlen gefüllte Textdateien einlesen, aufsteigend sortieren und Duplikate entfernen. Eine Funktion soll sein, 2 Werte beim Aufruf der .exe aus der Console heraus als args-Argumente zu definieren. Im main werden diese beiden dann auch aufgefangen und weiterverarbeitet. Meine Frage:Ich würde gerne eine Exception einbauen, soll heißen: definiert der Benutzer keine args-Argumente wird das Programm trotzdem ausgeführt und er hat dann nochmal die Möglichkeit diese einzugeben. Ist das möglich? Ich hoffe das war soweit verständlich formuliert ;-) Grüße Anton
-----
Neu bei Android, AndroidPIT oder dem App Center? Hier erfährst Du alles Wichtige: http://bit.ly/ccFQvI
|
Markus Gu
Rang: Android Gottheit
Beiträge: 2.528
Eintrittsdatum: 05.06.2009
Modell: Samsung Galaxy S (I9000)
Firmware: 2.2.1
Mod: -
Kernel: 2.6.29root@SE-S603 #2
Build: JPU
Provider: A1
|
RE: Mal was anderes: C# args-Argumente
verfasst am 01.12.2009 20:21:43
hmm ist prinzipiell schon möglich der aufbau wäre dann ungefähr so 1. main programm starten 2. überprüfen ob 2 paramenter übergeben 3. wenn nicht, dann einfach vom stdinput lesen bis 2 lesen, bis zwei valide werte eingegeben wurden 4. fertig hoffe ist verständlich ;)
-----
swordiApps Blog - Website
|
Anton S.
Status: Super-Blogger, Super-Tester, Moderator
Rang: Android Gottheit
Beiträge: 1.721
Eintrittsdatum: 06.03.2009
Modell: Samsung Galaxy S2 (I9100)
Firmware: 4.0.3
Mod: wechselnd
Kernel: -
Build: -
Provider: -
|
RE: Mal was anderes: C# args-Argumente
verfasst am 01.12.2009 20:28:15
— geändert am 01.12.2009 20:30:33
Hey Markus, Danke für die schnelle Antwort. Das habe ich schon so versucht : 1if (args.Length == null) 2 { 3 Console.WriteLine("Sie haben keine Dateinamen als ARGS-Argumente definiert"); 4 } else { ... weiterer Code, Eingabe etc.
Leider stürzt mein Programm dann einfach mal ab.
-----
Neu bei Android, AndroidPIT oder dem App Center? Hier erfährst Du alles Wichtige: http://bit.ly/ccFQvI
|
floatec
Rang: Android Doc
Beiträge: 361
Eintrittsdatum: 12.08.2009
Modell: T-Mobile G1
Firmware: 2.1
Mod: Cyanogen 5.0.8
Kernel: -
Build: -
Provider: O2
|
RE: Mal was anderes: C# args-Argumente
verfasst am 01.12.2009 20:32:56
gibt es in c# kein argv? dadrüber würdest ja die anzahl der argumente bekommen und wüstest wie viele du hast.
|
Markus Gu
Rang: Android Gottheit
Beiträge: 2.528
Eintrittsdatum: 05.06.2009
Modell: Samsung Galaxy S (I9000)
Firmware: 2.2.1
Mod: -
Kernel: 2.6.29root@SE-S603 #2
Build: JPU
Provider: A1
|
RE: Mal was anderes: C# args-Argumente
verfasst am 01.12.2009 20:58:30
ähm arg.length == null das kommt mir komisch vor arg.lengt == 0 kannst abprüfen oder arg == null aber glaub arg ist niemals null sieht dann so aus 1public static void Main(string[] argv) 2 { 3 if(argv.Length==0 || argv.Length == 1) 4 Console.WriteLine("Sie haben keine Dateinamen als ARGS-Argumente definiert"); 5 //HIER DANN EINFACH NEU EINGEBEN LASSEN 6 }
-----
swordiApps Blog - Website
|
floatec
Rang: Android Doc
Beiträge: 361
Eintrittsdatum: 12.08.2009
Modell: T-Mobile G1
Firmware: 2.1
Mod: Cyanogen 5.0.8
Kernel: -
Build: -
Provider: O2
|
RE: Mal was anderes: C# args-Argumente
verfasst am 01.12.2009 21:16:23
also in klasichen c hat aegv als ersten parameter immer die working dir drin. desweiteren ist es ja ein array. also sollte lenght nicht das richtige atribut sein....
|
and dev
Status: Moderator
Rang: Android Gottheit
Beiträge: 1.849
Eintrittsdatum: 14.10.2009
Modell: Samsung Galaxy S2 (I9100)
Firmware: 2.3.4
Mod: -
Kernel: -
Build: -
Provider: Vodafone
|
RE: Mal was anderes: C# args-Argumente
verfasst am 01.12.2009 21:24:30
Anstatt herumzuraten kann man auch einfach in die MSDN schauen: ist demnach der richtige Weg. Ich benutze kein C#, daher mußte ich das nachlesen und kann für die Richtigkeit nicht garantieren, aber normalerweise ist MSDN recht verlässlich.
-----
AndroidPIT-Regeln
|
Markus Gu
Rang: Android Gottheit
Beiträge: 2.528
Eintrittsdatum: 05.06.2009
Modell: Samsung Galaxy S (I9000)
Firmware: 2.2.1
Mod: -
Kernel: 2.6.29root@SE-S603 #2
Build: JPU
Provider: A1
|
RE: Mal was anderes: C# args-Argumente
verfasst am 01.12.2009 21:25:59
aber c# ist um einiges weiter als klassisches c ;) ( wäh wie ich klassisches c hasse ) hier ein interessanter link dazu, da steht alles http://msdn.microsoft.com/en-us/library/aa288457%28VS.71%29.aspx
-----
swordiApps Blog - Website
|
Markus Gu
Rang: Android Gottheit
Beiträge: 2.528
Eintrittsdatum: 05.06.2009
Modell: Samsung Galaxy S (I9000)
Firmware: 2.2.1
Mod: -
Kernel: 2.6.29root@SE-S603 #2
Build: JPU
Provider: A1
|
RE: Mal was anderes: C# args-Argumente
verfasst am 01.12.2009 21:29:05
and dev Anstatt herumzuraten kann man auch einfach in die MSDN schauen: ist demnach der richtige Weg. Ich benutze kein C#, daher mußte ich das nachlesen und kann für die Richtigkeit nicht garantieren, aber normalerweise ist MSDN recht verlässlich. sag ich ja ;)
-----
swordiApps Blog - Website
|
and dev
Status: Moderator
Rang: Android Gottheit
Beiträge: 1.849
Eintrittsdatum: 14.10.2009
Modell: Samsung Galaxy S2 (I9100)
Firmware: 2.3.4
Mod: -
Kernel: -
Build: -
Provider: Vodafone
|
RE: Mal was anderes: C# args-Argumente
verfasst am 01.12.2009 22:19:46
aber c# ist um einiges weiter als klassisches c ;) Darüber könnte man jetzt trefflich streiten ;) Mir sind Sprachen lieber, bei denen der Intelligentere der beiden Beteiligten (Entwickler, Compiler) entscheiden kann, was richtig ist und die Kontrolle über die Dinge hat; außerdem ist Portabilität immer ein schöner Bonus, und Unabhängigkeit von einem bestimmten Anbieter (hier: M$ *) Aber mit "weiter" meintest du vermutlich eher, das es vermeindlich mehr vorgefertigte Dinge gibt, die man darum nicht mehr selber herstellen muß, oder? * Disclaimer: ich würde mich nicht als M$ Hasser einstufen, VS ist ein gutes Tool, benutze ich quasi täglich.
-----
AndroidPIT-Regeln
|
floatec
Rang: Android Doc
Beiträge: 361
Eintrittsdatum: 12.08.2009
Modell: T-Mobile G1
Firmware: 2.1
Mod: Cyanogen 5.0.8
Kernel: -
Build: -
Provider: O2
|
RE: Mal was anderes: C# args-Argumente
verfasst am 01.12.2009 22:24:17
and dev aber c# ist um einiges weiter als klassisches c ;) * Disclaimer: ich würde mich nicht als M$ Hasser einstufen, VS ist ein gutes Tool, benutze ich quasi täglich. dito aber eben noch das schöne 6 er ohne dot net und so zeug^^ klar ist es konfortabeler....aber man verliert freiheit beim entwickeln...
|
Anton S.
Status: Super-Blogger, Super-Tester, Moderator
Rang: Android Gottheit
Beiträge: 1.721
Eintrittsdatum: 06.03.2009
Modell: Samsung Galaxy S2 (I9100)
Firmware: 4.0.3
Mod: wechselnd
Kernel: -
Build: -
Provider: -
|
RE: Mal was anderes: C# args-Argumente
verfasst am 01.12.2009 22:32:35
and dev Anstatt herumzuraten kann man auch einfach in die MSDN schauen: ist demnach der richtige Weg. Ich benutze kein C#, daher mußte ich das nachlesen und kann für die Richtigkeit nicht garantieren, aber normalerweise ist MSDN recht verlässlich. Danke das hat mir weitergeholfen. Bei MSDN hatte ich bereits geschaut, jedoch bin ich ziemlich Newbie und C#e erst seit 2 Monaten. Grüße Anton
-----
Neu bei Android, AndroidPIT oder dem App Center? Hier erfährst Du alles Wichtige: http://bit.ly/ccFQvI
|
Markus Gu
Rang: Android Gottheit
Beiträge: 2.528
Eintrittsdatum: 05.06.2009
Modell: Samsung Galaxy S (I9000)
Firmware: 2.2.1
Mod: -
Kernel: 2.6.29root@SE-S603 #2
Build: JPU
Provider: A1
|
RE: Mal was anderes: C# args-Argumente
verfasst am 01.12.2009 22:49:57
and dev aber c# ist um einiges weiter als klassisches c ;) Darüber könnte man jetzt trefflich streiten ;) Mir sind Sprachen lieber, bei denen der Intelligentere der beiden Beteiligten (Entwickler, Compiler) entscheiden kann, was richtig ist und die Kontrolle über die Dinge hat; außerdem ist Portabilität immer ein schöner Bonus, und Unabhängigkeit von einem bestimmten Anbieter (hier: M$ *) Aber mit "weiter" meintest du vermutlich eher, das es vermeindlich mehr vorgefertigte Dinge gibt, die man darum nicht mehr selber herstellen muß, oder? * Disclaimer: ich würde mich nicht als M$ Hasser einstufen, VS ist ein gutes Tool, benutze ich quasi täglich. nein danke, habe keine lust darüber zu streiten. ich halte nichts davon mir über jedes bit gedanken machen zu müssen und ich möchte auch keine anwendungen schreiben, die wirklich alle vorteile von c/++ benötigen... ich mag c# viel lieber, und vor allem java. da kann ich mich auf das konzentrieren, was die anwendung tun soll und muss nicht 1000 mal irgendwelche speicherstellen irgendwohin kopieren und das wichtigste: die * taste ist bei mir auch noch nicht so abgenützt ;)
-----
swordiApps Blog - Website
|
and dev
Status: Moderator
Rang: Android Gottheit
Beiträge: 1.849
Eintrittsdatum: 14.10.2009
Modell: Samsung Galaxy S2 (I9100)
Firmware: 2.3.4
Mod: -
Kernel: -
Build: -
Provider: Vodafone
|
RE: Mal was anderes: C# args-Argumente
verfasst am 01.12.2009 23:15:51
das schöne 6 er ohne dot net und so zeug^^ Naja, das überflüssige Zeug muß man ja nicht installieren ;) Ich fand das 6er insgesamt auch effizienter als das 8er, das wir derzeit einsetzen, aber es gab irgendeinen Grund (der mir gerade nicht einfallen will), der das Upgrade erforderlich machte (außer gewissen Kollegen, die neue Sachen haben wollten, weil sie halt neu sind ;) klar ist es konfortabeler....aber man verliert freiheit beim entwickeln... Komfortabler: nur solange alles so funktioniert, wie man es benötigt; Freiheit: genau, und die "Neuen" lernen darüber hinaus die einfachsten Dinge nicht mehr und sind dann völlig aufgeschmissen, wenn sie nicht alles fertig vorfinden, sondern mal was selber machen sollen (Beispiel: JavaME - "wo kriege ich jetzt eine Liste her?")
-----
AndroidPIT-Regeln
|
and dev
Status: Moderator
Rang: Android Gottheit
Beiträge: 1.849
Eintrittsdatum: 14.10.2009
Modell: Samsung Galaxy S2 (I9100)
Firmware: 2.3.4
Mod: -
Kernel: -
Build: -
Provider: Vodafone
|
RE: Mal was anderes: C# args-Argumente
verfasst am 01.12.2009 23:21:14
nein danke, habe keine lust darüber zu streiten. Ich auch nicht  Jedem das Werkzeug, mit dem er die größte Effizienz erreicht  und muss nicht 1000 mal irgendwelche speicherstellen irgendwohin kopieren Das läßt mich gerade ein wenig daran zweifeln, das du dich mit C/C++ wirklich auskennst ;)
-----
AndroidPIT-Regeln
|
and dev
Status: Moderator
Rang: Android Gottheit
Beiträge: 1.849
Eintrittsdatum: 14.10.2009
Modell: Samsung Galaxy S2 (I9100)
Firmware: 2.3.4
Mod: -
Kernel: -
Build: -
Provider: Vodafone
|
RE: Mal was anderes: C# args-Argumente
verfasst am 01.12.2009 23:23:19
Danke das hat mir weitergeholfen. Immer gerne  jedoch bin ich ziemlich Newbie und C#e erst seit 2 Monaten. Aus reiner Neugierde: Warum gerade C#?
-----
AndroidPIT-Regeln
|
Anton S.
Status: Super-Blogger, Super-Tester, Moderator
Rang: Android Gottheit
Beiträge: 1.721
Eintrittsdatum: 06.03.2009
Modell: Samsung Galaxy S2 (I9100)
Firmware: 4.0.3
Mod: wechselnd
Kernel: -
Build: -
Provider: -
|
RE: Mal was anderes: C# args-Argumente
verfasst am 01.12.2009 23:43:34
and dev Danke das hat mir weitergeholfen. Immer gerne  jedoch bin ich ziemlich Newbie und C#e erst seit 2 Monaten. Aus reiner Neugierde: Warum gerade C#? Das habe ich mich am Anfang des Semesters auch gefragt: "Warum gerade C# ? "  Hmm bisher habe ich keine Antwort darauf gefunden. Wir lernen eben 2 Programmiersprachen. Die eine ist C# und die andere ist Java. Frag Prof. Dr. Müller warum er mit C# anfängt.  Grüße & Danke nochmals Anton
-----
Neu bei Android, AndroidPIT oder dem App Center? Hier erfährst Du alles Wichtige: http://bit.ly/ccFQvI
|
Jörg V.
Status: Administrator
Rang: Android Gottheit
Beiträge: 4.914
Eintrittsdatum: 08.06.2009
Modell: Samsung Galaxy Note (N7000)
Firmware: 2.3.6
Mod: -
Kernel: 2.6.35.7-N7000XXKKA-CL726566
Build: Gingerbread.XXKKA
Provider: T-Mobile AT
|
RE: Mal was anderes: C# args-Argumente
verfasst am 02.12.2009 07:39:21
Moin Anton, vielleicht einfach weil der Prof. sich mit C# auskennt ... , weil Du damit in der Windows Welt einiges erreichen kannst, die unbestreitbar einen großen Anteil an der in der Wirtschaft eingesetzten Betriebsysteme einnimmt, ... Frag ihn doch einfach mal. Er wird Dir bestimmt eine Antwort geben ;)
-----
lg Voss - Ach ja und noch was, unsere AndroidPIT-Regeln ლ(╹◡╹ლ)
|
Markus Gu
Rang: Android Gottheit
Beiträge: 2.528
Eintrittsdatum: 05.06.2009
Modell: Samsung Galaxy S (I9000)
Firmware: 2.2.1
Mod: -
Kernel: 2.6.29root@SE-S603 #2
Build: JPU
Provider: A1
|
RE: Mal was anderes: C# args-Argumente
verfasst am 02.12.2009 09:59:26
and dev nein danke, habe keine lust darüber zu streiten. Ich auch nicht  Jedem das Werkzeug, mit dem er die größte Effizienz erreicht  und muss nicht 1000 mal irgendwelche speicherstellen irgendwohin kopieren Das läßt mich gerade ein wenig daran zweifeln, das du dich mit C/C++ wirklich auskennst ;) naja ich hab sicher bessere disziplinen, aber so is es ja nunmal ( so zirka 5 jahre in der schule und 2 jahre an der uni, aber zum glück nie in der arbeit ). vor allem bei c. das is nichts für mich. zb dauernd speicher freigeben. ich will, dass der garbage collector kommt und das macht  für sowas hab ich einfach keinen nerv naja wie auch immer. finde es super, wenn die bei der uni mit c# anfangen. wir haben c gelernt und der umstieg auf objektorientierung fiel zirka 80% der leuten schwer. wenn man gleich mit dem beginnt, ist es sicher wesentlich einfacher.
-----
swordiApps Blog - Website
|
Anton S.
Status: Super-Blogger, Super-Tester, Moderator
Rang: Android Gottheit
Beiträge: 1.721
Eintrittsdatum: 06.03.2009
Modell: Samsung Galaxy S2 (I9100)
Firmware: 4.0.3
Mod: wechselnd
Kernel: -
Build: -
Provider: -
|
RE: Mal was anderes: C# args-Argumente
verfasst am 02.12.2009 10:05:19
Bis vor 4 Semestern wurde im 1. Semester noch C++ gelehrt. @Voss Damit hast du ganz sicher Recht. Die Windows Welt ist ganz sicher eine gute Möglichkeit später Geld zu verdienen, zumindest war es in der Vergangenheit so. In naher Zukunft wird sich daran aber nicht allzu schnell was ändern. Ab dem 3. Semester ist dann aber Java dran. Das ist im Bankenumfeld eher zu gebrauchen, deshalb dür mich evtl. auch interessanter. Da C# aber teilweise schon auf Java aufbaut wir der Umstieg sicher nicht ganz so extrem. Grüße Anton
-----
Neu bei Android, AndroidPIT oder dem App Center? Hier erfährst Du alles Wichtige: http://bit.ly/ccFQvI
|