Parameter mitgeben

NewPenKid

Mitglied
Hallo, ich bins wieder.

Eine, eigentlich, kleine Frage. Leider weis ich nicht wie das heißt ich versuch
es euch irgendwie zu beschreiben.

In C++ ging das, das wenn man eine Funktion hatte zb:

public void Add(string Name, int iAnzahl =0)
{}

Diese Funktion ruf ich von 2 verschiedenen Stellen auf.
Einmal mit einen string und einen integer, und einmal nur mit einen string. Denn integer musste ich nicht mitgeben.

Geht das in C# auch? Denn ich hätte es so probiert doch leider geht es nicht.

dank schon mal im Voraus.
 
Du könntest 3 verschiedene Add Methoden bauen, die sich mit den Parametern unterscheiden:

Code:
public void Add(string Name, int iAnzahl)
{
}
public void Add(string Name)
{
}
public void Add(int iAnzahl)
{
}
 
Ach gott, manchmal glaub ichs wirklich.
Darauf bin ich noch gar net gekommen.

Werd ich gleich machen damit ich weiter komm.

Dankeschön.

Aber so wie ich das gemeint hab geht es gar net, oda?

Falls jemand weiß ob und wie das geht soll mir das bitte sagen.
Mich interresiert das sehr.
 
Das bleibt eigentlich ziemlich egal was die methode macht.
Aber wenn du es wissen willst.

Sie soll einen bestimmten Eintrag finde. Also sie läuft ein Array durch und sucht nach einen Namen.
 
Also soll sie einmal den Eintrag anhand des Namens suchen (der string) und einmal anhand des Indexes (int Parameter)?

Das kannste doch dann in den entsprechenden Methoden verwirklichen.
 
Soweit ich weiss kanns du Parameter bei der übergabe auch weg lassen:

this.Add( , 5);

Aber das Komma nicht vergessen!

Gruß
Klobow

P.S. haut mich net wenn ich mich Irre!
 
Zuletzt bearbeitet:
Dass du, wie Klobow gesagt hat, Parameter weglassen kannst weiß ich nichts, aber vielleicht klappt es ja und ich irre mich. Bin mir dabei nicht sicher.

Du hast aber noch die Möglichkeit mit dem 'params' Schlüsselwort zu arbeiten. Dann kannst du eine variable Anzahl an Parametern übergeben. Dafür wird dann ein Array verwendet.

Ein Beispiel:

Code:
class Class1
	{
		static void Main()
		{
			Add("lala",5);
			Add("lala",5,6,"hallo","huhu");
			Add("lala",5,2323.44, "asdf");
			Add("lala");
		}

		private static void Add(params object[] args)
		{
			for (int i = 0; i < args.Length; i++)
			{
				Console.WriteLine(args[i].ToString());
			}

			Console.ReadLine();
		}
	}
 

Neue Beiträge

Zurück