begin process at 2012 02 11 04:28:32
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > LE PASSAGE PAR RÉFÉRENCE

LE PASSAGE PAR RÉFÉRENCE


 Information sur la source

Note :
8,25 / 10 - par 4 personnes
8,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Source .NET ( DotNet ) Classé sous :references Niveau :Débutant Date de création :22/03/2003 Date de mise à jour :22/03/2003 22:57:16 Vu / téléchargé :9 997 / 183

Auteur : gg00xiv

Ecrire un message privé
Site perso
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

En C#, les pointeurs ont disparus, c'est une bonne chose mais ils pouvaient nous être bien utiles dans certains cas.
Par exemple si une fonction devez modifier une valeur kon lui passer en parametre pour qu'elle en soit affecté dans la fonction appelante.

Voici comment les références en C# nous permettent de pallier à ce manque apparant.

Il s'agit plus d'un mini tuto que d'un véritable programme.

Source

  • using System;
  • namespace ConsoleApplication8
  • {
  • class Class1
  • {
  • static void modification(ref int n)
  • {
  • n = 333;
  • }
  • static void modification_2(out int m)
  • {
  • m = 666;
  • }
  • [STAThread]
  • static void Main(string[] args)
  • {
  • int n = 4;
  • modification(ref n); // avec ref on doit initialisé la variable avant de la passer en paramètre
  • Console.Out.WriteLine(n);
  • int m;
  • modification_2(out m); // out ne demande pas necessairement une variable initialisée
  • Console.Out.WriteLine(m);
  • Console.In.ReadLine();
  • }
  • }
  • }
using System;

namespace ConsoleApplication8
{
	class Class1
	{
		static void modification(ref int n)
		{
			n = 333;
		}

		static void modification_2(out int m)
		{
			m = 666;
		}

		[STAThread]
		static void Main(string[] args)
		{
			int n = 4;

			modification(ref n); // avec ref on doit initialisé la variable avant de la passer en paramètre

			Console.Out.WriteLine(n);

			int m;

			modification_2(out m); // out ne demande pas necessairement une variable initialisée

			Console.Out.WriteLine(m);

			Console.In.ReadLine();
		}
	}
}
 


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source .NET (Dotnet) XMLSERIALIZER ET FICHIERS DE CONFIG
Source avec Zip Source avec une capture Source .NET (Dotnet) COMPOSANT D'AUTHENTIFICATION SQLSERVER
Source avec Zip Source .NET (Dotnet) CHARGER UNE ASSEMBLY DANS LE CODE
Source avec Zip Source avec une capture Source .NET (Dotnet) PROGRESSBAR STYLE NETSCAPE
Source avec Zip Source avec une capture Source .NET (Dotnet) DATABINDING POUR AFFICHER/EDITER UN FORMULAIRE DE DONNÉES

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) DIFFÉRENTIELLE ENTRE DEUX COLLECTION par morphey_83
Source avec Zip Source avec une capture Source .NET (Dotnet) RICHTEXTBOX POUR COLORATION SYNTAXIQUE EN TEMPS REEL par Renfield
Source avec Zip Source avec une capture Source .NET (Dotnet) TRANSFORMER UN PROGRAMME EN SERVICE par xavh44
Source avec Zip Source .NET (Dotnet) [C# ET T4] TEMPLATE DE VIEW MODEL POUR LE PATTERN MVVM par Kite37
Source .NET (Dotnet) EXEMPLE D'UTILISATION D'UN OCX SANS DECLARATION PREALABLE DA... par yohan49

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) .NET DEPENDENCY VIEWER : ARBRE DES DÉPENDANCES D'UN ASSEMBLY... par ShareVB

Commentaires et avis

Commentaire de superpa le 03/04/2003 08:59:22

Juste une remarque, en C# les pointeurs n'ont pas disparu. Pour en uitiliser il faut précéder la fonction de unsafe.

Commentaire de gg00xiv le 03/04/2003 20:46:01

Les pointeurs existent effectivement mais ne sont pas soumis au regles de control du CLR. Les pointeurs sont donc a éviter en C# , les références permettant d'effectuer le même travail dans un cadre plus sécurisé.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

prob references Microsoft.DirectX [ par Killan ] J'ai installé visual C# 2003, le SDK de DirectX pour C#, je tente de compiler un exemple et pafG:\csharpfr_source_21589\DirectEffect.cs(4): Le type ou Visual Studio - References [ par citt ] Bonjour,Je suis en train de realiser un programme qui contient plusieur dll que j'ai ajouter a mes references mais comment faire en sorte qu'elle soit Erreur controle ActiveX [ par lebienestrare ] bonjour tout le monde,lorsque j'essaie de glisser un controle de Toolbox, j'obtient cette erreur:"failed to import the activex control. please ensure Créer un tableau de references d'objets [ par sachie ] Bonjour a tous, je viens demander un peu 'aide svp: Je désire appeler une macro vba du type: sub lamacro(arg1,arg2,arg3) .... end sub et pour cel


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,106 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales