PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C#] Optionale Paramter?



hackerking
17.05.2009, 20:49
Ist es in C# möglich Optionale Parameter zu übergeben? Also wie in VB z. B.:

Private Sub Test(ByVal Hallo As String, Optional lol As Integer)
End Sub

weil in c# gibts ja ein optional soweit ich weiß

k0rxxx
17.05.2009, 20:58
Sowas nennt man "Überladen von Funktionen". gidf

juRiii
17.05.2009, 21:03
beim k800i kann man kein flash menu machen <.< wenschon sind es nur animationen. würd wen dan bei der w series gehn. wen du wissen willst wie man das handy flasht, kann ich dir dieses forum empfehlen -> http://www.se-world.info/ (http://www.se-world.info/board180/?529c69ee)

edit: ups falscher thread xD

hackerking
17.05.2009, 21:20
@juRii ähh ja :D

@k0rxxx
könntest du mal nen link oder ein sample geben. ich finde nichts per google...

inmate
17.05.2009, 21:41
ääähhhmm juRi ? ich glaube du wolltest das nicht hier hin posten oder?:D

Sawyer
17.05.2009, 22:06
könntest du mal nen link oder ein sample geben. ich finde nichts per google...Ich erkläre es dir einfach + simples Beispiel:

Ganz einfach , du hast die möglichkeit Funktionen vom gleichen Namen zu erstellen , jedoch mit unterschiedlichen und natürlich unterschiedlich vielen Parametern
dieser Optional Parameter ist eigentlich eine vereinfachte Möglichkeit das in vb zu machen , in C# muss man mit überLadungen arbeiten

Was ganz simpel ist:


private static void Test(string Hallo)
{

}

private static void Test(string Hallo, Int lol)
{

}
wenn du die Methode Test jetzt schreibst wirst du die Funktion im intellisense sehen und du wirst feststellen , das du 2 Möglichkeiten hast diese aufzurufen , einmal mit einem und einmal mit 2 Parametern

das ist die funktionsüberladung^^

MfG

hackerking
17.05.2009, 22:09
Ahh ok vielen dank. aber wieso so kompliziert?^^ bei vb isses viel einfacher xD hier muss man den sub noch anpassen -.-

Sawyer
17.05.2009, 22:13
Ahh ok vielen dank. aber wieso so kompliziert?^^ bei vb isses viel einfacher xD hier muss man den sub noch anpassen -.-

Ist eben nicht so ein kinderkack wie in vb :D

Du kannst es natürlich auch mit einer Funktion machen , und einfach null übergeben , und innerhalb der Methode entsprechend darauf reagieren
wäre auch eine Möglichkeit^^

MfG

hackerking
17.05.2009, 22:15
Du kannst es natürlich auch mit einer Funktion machen , und einfach null übergeben , und innerhalb der Methode entsprechend darauf reagieren
wäre auch eine Möglichkeit^^


das hab ich auch davor gemacht :D



Ist eben nicht so ein kinderkack wie in vb :D


weswegen bin ich jetzt wohl bei c#? :D

hpoc
17.05.2009, 22:28
@juRii ähh ja :D

@k0rxxx
könntest du mal nen link oder ein sample geben. ich finde nichts per google...Ich glaube nicht, dass Du danach gesucht hast.

Steav
19.05.2009, 08:19
Momentan musst Du noch oben genannte Überladungen verwenden.
Optionale Parameter wie es sie bspw. in Python gibt kommen aber in einer zukünftigen c# Version. (4.0)

hackerking
19.05.2009, 13:21
@steav hmm noch ein grund das 4.0 schnell kommen soll^^

@hpoc doch! gib doch mal bei google C# Optinale Parameter ein ;)

k0rxxx
25.05.2009, 12:18
http://www.google.de/search?hl=de&q=funktionen+%C3%BCberladen+c%23&btnG=Google-Suche&meta=&aq=f&oq=
findet man echt garnix ;)

Bozok
25.05.2009, 12:27
VB Kinderkack?
Was ist c# dann?

Sawyer
25.05.2009, 13:13
VB Kinderkack?
Was ist c# dann?

C# ist schon mal eine Anspruchsvollere Sprache , die eigene Sprachelemente aufweißt die man bei VB vermisst

Erst wenn man Höhere Sprachen kann , merkt man wie schlecht die Syntax von VB doch ist , ich mag VB mittlerweile gar nicht mehr , und Code nur noch in VB wenn ich es muss , wenn ich zum Beispiel jemanden ein Beispiel schreiben soll ^^;

Soll nicht heißen das VB schlecht ist , es soll nur heißen das es für etwas anspruchsvollere Leute ungeeignet ist

MfG

Bozok
25.05.2009, 13:38
Klar ist C# schwerer :D
Die IntelliSense schiebt dir so ziemlich alles in den Arsch, es fehlt nur noch eine "Sprachfunktion" wo man am Anfang sagt was man gerne programmiert haben möchte und der dir alles vorgibt :D

Sawyer
25.05.2009, 13:48
Klar ist C# schwerer :D
Die IntelliSense schiebt dir so ziemlich alles in den Arsch, es fehlt nur noch eine "Sprachfunktion" wo man am Anfang sagt was man gerne programmiert haben möchte und der dir alles vorgibt :D

Ich weiß du siehst das Kritisch , aber das Intellisense Schiebt einem nichts in den Arsch , sonder ist nur eine Unterstützung für den Programmierer , somit lässt sich effizienter und schneller arbeiten

Es weiß im Prinzip nicht was du eingeben möchtest bzw was du suchst , eigentlich ist es nur eine Wortvervollständigung wie es sie auch in anderen Programmen gibt , von daher ist es üblich und ein Segen ;)

MfG

Steav
25.05.2009, 13:57
Klar ist C# schwerer :D
Die IntelliSense schiebt dir so ziemlich alles in den Arsch, es fehlt nur noch eine "Sprachfunktion" wo man am Anfang sagt was man gerne programmiert haben möchte und der dir alles vorgibt :D


Wie kannst Du überhaupt in so ner Diskussion mitreden wollen, wenn Du nichtmal eine IDE von einer Sprache unterscheiden kannst?

Du kannst meinetwegen hergehen und VB in Notepad oder sogar aufn Zettel schreiben.... deshalb wird die Sprache noch lange nicht schwerer oder anspruchsvoller^^

Zudem wäre eine kompatible IDE die RAD (Rapid Application Development, google den Begriff ruhig mal) unterstützt ja viel eher ein Argument dafür als dagegen.

kInGoFcHaOs
25.05.2009, 14:09
The Papst zu deiner meinung über vb:
Zitat: soll nicht heißen das vb schlecht ist...

was is an vb 6 bitte gut...?
absoult hässlicher syntax (if then else end if)
total veraltet
nicht .Net
nicht plattformunabhängig
und und und ^^


zum thema:
http://forums.devx.com/showthread.php?t=16221
hätte deine frage beantwortet ^^
3 antwort google optionale parameter c# ^^

Bozok
25.05.2009, 14:25
was is an vb 6 bitte gut...?
absoult hässlicher syntax (if then else end if)
total veraltet
nicht .Net
nicht plattformunabhängig
und und und ^^

1. Häßlichkeit ist relativ
2. Total veraltet? Was ist denn veraltet? Meinst du die IDE? Die läuft doch wie geschmiert!
3. Oha wasn Argument: Meine Programmiersprache ist auf .Net angewiesen :/
4. Warum soll Basic nicht plattformunabhängig sein? Es gibt RealBASIC oder auch Linux-Compiler :D

Sawyer
25.05.2009, 14:39
The Papst zu deiner meinung über vb:
Zitat: soll nicht heißen das vb schlecht ist...

was is an vb 6 bitte gut...?
absoult hässlicher syntax (if then else end if)
total veraltet
nicht .Net
nicht plattformunabhängig
und und und ^^Stimmt , eigentlich meinte ich damit vb.net , hätte ich vll dazu schreiben sollen ;) das bezog sich aber dann eher auf die langweilige und unschöne Syntax und das C# einige Feauteres hat die es in vb.net nicht gibt^^


2. Total veraltet? Was ist denn veraltet? Meinst du die IDE? Die läuft doch wie geschmiert!IDE , Sprache , Konzept , basiert auf COM = Nicht erweiterbar = Kann nicht expandieren

Tote Sprache wird nicht mehr Supported und weiterentwickelt


4. Warum soll Basic nicht plattformunabhängig sein? Es gibt RealBASIC oder auch Linux-Compiler :DDas ist in .NET aber dankt Mono auch möglich , von daher^^

MfG

kInGoFcHaOs
25.05.2009, 14:44
vb 6 ist für mich keine programmiersprache mehr eher eine scriptsprache...^^

naja jedem das seine ^^
bleib bei deinen vb6 RAT`s ;)

Bozok
25.05.2009, 14:48
Wer sagt das ich überhaupt noch VB für Socketprogrammierung nehme?

l0dsb
25.05.2009, 14:50
Default Parameters (http://blogs.msdn.com/csharpfaq/archive/2004/03/07/85556.aspx) gibt es in C# (im Gegensatz zum syntaktisch ähnlichen C/C++) begründerterweise nicht mehr, es bietet sich aber ein Workaround an:


void blah(int foo, int bar) {
// the whole code here
}

void blah(int foo) {
blah(foo, 0); // use defaults
}