freakhouse
Ensign
- Registriert
- Okt. 2005
- Beiträge
- 151
Hallo zusammen,
ich habe mal ein paar Fragen zu Funkionen aber ich poste erstmal den Quelltext.
also ich habe, wie auch ersichtlich ein programm zum tauschen von werten geschrieben. nun aber zu den Fragen. "void" gibt ja keinen wert zurück oder der tausch wird nicht sichtbar, aber die funktion gibt die ergebnisse doch an tausch zurück? zweite frage ich habe hier die daten per reference an die funktion übergeben, darunter verstehe ich dass die werte welche in dem funktionsaufruf stehen auf die funktion verwiesen werden und nicht kopiert?! so wie bei call by value. kann mir vllt jmd die wichtigsten unterschiede sagen? ich habe bisher gedacht man könnte nur bestimmt datentypen mit call by reference übergeben. zum beispiel arrays. wird das durch den befehl "ref" aufgehoben? sorry für die dämlichen fragen aber im internet finde ich keine mir ersichtlichen antworten. also bitte für blöde erklären wenn es geht
danke im voraus
ich habe mal ein paar Fragen zu Funkionen aber ich poste erstmal den Quelltext.
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Bitte geben Sie Wert A an");
// Speichern von Wert A
int a = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("Bitte geben Sie Wert B an");
// Speichern von Wert B
int b = Convert.ToInt16(Console.ReadLine());
// Aufruf der Funktion zum Tauschen
tausch(ref a,ref b);
Console.WriteLine("a wurde in {0} und b wurde in {1} geändert", a, b);
Console.ReadKey();
}
static void tausch (ref int a,ref int b)
{
int temp1 = 0;
int temp2 = 0;
temp1 = a;
temp2=b;
b = temp1;
a = temp2;
temp1=0; temp2 = 0;
}
}
}
also ich habe, wie auch ersichtlich ein programm zum tauschen von werten geschrieben. nun aber zu den Fragen. "void" gibt ja keinen wert zurück oder der tausch wird nicht sichtbar, aber die funktion gibt die ergebnisse doch an tausch zurück? zweite frage ich habe hier die daten per reference an die funktion übergeben, darunter verstehe ich dass die werte welche in dem funktionsaufruf stehen auf die funktion verwiesen werden und nicht kopiert?! so wie bei call by value. kann mir vllt jmd die wichtigsten unterschiede sagen? ich habe bisher gedacht man könnte nur bestimmt datentypen mit call by reference übergeben. zum beispiel arrays. wird das durch den befehl "ref" aufgehoben? sorry für die dämlichen fragen aber im internet finde ich keine mir ersichtlichen antworten. also bitte für blöde erklären wenn es geht
danke im voraus