RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Serv: irc.irc-land.org
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Connaissiez vous l'opérateur ?? ?

Forum : NEWS
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ NEWS

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGES : [1] [2]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM NEWS

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
Czayfaboo
Co-Administrateur
Superviseur :
- Langages Dot.
Modérateur :
- CSharp (C#)
Chef de projet(s) :
- ID3.NET Library
- MoteurProg Work.

Avatar de Czayfaboo
Inscrit : 05/01/2005
Messages : 2843
Message
#124302
Posté le 15/02/07 à 22:54
Incroyable !

Je sais bien qu'il est impossible de tout connaître en C# mais je pensais connaître au moins tous les opérateurs... et ben non ! Même pas...

Connaissiez vous l'opérateur ??
Cet opérateur est équivalent à a == [col]null[/col] ? b : a

Par exemple, voici le code fournit par MSDN à son sujet :

// nullable_type_operator.cs using System; class MainClass { static int? GetNullableInt() { return null; } static string GetStringValue() { return null; } static void Main() { // ?? operator example. int? x = null; // y = x, unless x is null, in which case y = -1. int y = x ?? -1; // Assign i to return value of method, unless // return value is null, in which case assign // default value of int to i. int i = GetNullableInt() ?? default(int); string s = GetStringValue(); // ?? also works with reference types. // Display contents of s, unless s is null, // in which case display "Unspecified". Console.WriteLine(s ?? "Unspecified"); } }


Comme quoi, on en apprend tous les jours ! Smiley
__________________________
Sujet résolu ? Pensez à mettre le tag Image
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

ReaM
Superviseur :
- Java
Avatar de ReaM
Inscrit : 24/02/2005
Messages : 719
Message
#127702
Posté le 20/03/07 à 07:45
C'est l'équivalent à l'opérateur ternaire , un opérateur que peu de personnes débutantes pense à l'utiliser et le remplace par une alternative à deux branches .

(condition)?vrai:faux

Sympa l'information , je ne le connaissais pas non plus.
__________________________
Image
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : rien ne fonctionne et personne ne sait pourquoi...

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Czayfaboo
Co-Administrateur
Superviseur :
- Langages Dot.
Modérateur :
- CSharp (C#)
Chef de projet(s) :
- ID3.NET Library
- MoteurProg Work.

Avatar de Czayfaboo
Inscrit : 05/01/2005
Messages : 2843
Message
#127832
Posté le 21/03/07 à 16:06
Equivalent à l'opérateur ternaire, oui, mais dans un cas bien particulier quand même : c'est uniquement si la condition porte sur null.

Il existe aussi en java ? ou tu fais un peu de C# de temps en temps ?
__________________________
Sujet résolu ? Pensez à mettre le tag Image
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

ReaM
Superviseur :
- Java
Avatar de ReaM
Inscrit : 24/02/2005
Messages : 719
Message
#127837
Posté le 21/03/07 à 16:41
Je n'ai aucune idée si il existe en java , mais je vais me renseigner cela peut être très utile en POO.

Je ne me suis pas encore aventuré énormément en C# , j'espère avoir le temps pour m'y mettre un peu .
__________________________
Image
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : rien ne fonctionne et personne ne sait pourquoi...

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Czayfaboo
Co-Administrateur
Superviseur :
- Langages Dot.
Modérateur :
- CSharp (C#)
Chef de projet(s) :
- ID3.NET Library
- MoteurProg Work.

Avatar de Czayfaboo
Inscrit : 05/01/2005
Messages : 2843
Message
#127843
Posté le 21/03/07 à 17:08
ReaM dit :
cela peut être très utile en POO.
Faut pas exagérer non plus... si quasi personne ne le connait c'est qu'il est pas si utile que çà... c'est juste un raccourci de l'opérateur ternaire standard qui s'applique sur une condition bien précise (si null alors...)

... stou ... Smiley
__________________________
Sujet résolu ? Pensez à mettre le tag Image
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

THE LAST PHOENIX
Nouveau membre
Avatar de THE LAST PHOENIX
Inscrit : 02/02/2008
Messages : 4
Message
#148647
Posté le 02/02/08 à 13:21
salut. Comme j'ai pu le lire sur l'opérateur '?'Il n'est pas un operateur ternaire!
Le veritable opérateur ternaire est '?:'
car il utilise 3 opérandes.
Exemple:


boll b = true; int i =5; int j = 8; int k=b ? i : j;


Ici la derniere expression veut dire : si k= i si b est vrai sinon k=j.

L'operateur '?' sans les 2 points, est quand à lui usité dans la manipulation des types "nullables".
__________________________
The last Phoenix.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Czayfaboo
Co-Administrateur
Superviseur :
- Langages Dot.
Modérateur :
- CSharp (C#)
Chef de projet(s) :
- ID3.NET Library
- MoteurProg Work.

Avatar de Czayfaboo
Inscrit : 05/01/2005
Messages : 2843
Message
#148653
Posté le 02/02/08 à 17:33
T'es hors sujet, mais c'est pas grave.

On parle ici de l'opérateur ?? (en une seule fois), qui est un opérateur binaire (par opposition à ternaire, rien à voir avec les opérateurs binaire & | ou ^) et s'utilise de la façon suivante :
c = a ?? b;
(cf. 1er post).

Quant à l'opérateur ?, c'est un opérateur ternaire. Car en fait, comme ? tout seul n'existe pas, on considère, par abus de langage, que l'opération ... ? ... : ... est propre à l'opérateur ? (tout seul) donc du coup, pas de problème, on peut bien dire qu'il est ternaire.
Mais l'opérateur ?: n'existe pas. On devrait plutôt écrire "? ... :" ou quelque chose du genre, mais du coup on peut se demander ce que sont les trois petits points, etc... et vu qu'on a défini tous les opérateurs d'un seul bloc (pas d'espace ni rien) et que les opérateurs ne sont pas forcément uni-caractère, ben du coup, on dit que ? est un opérateur et qu'il est ternaire. Donc no problème. Smiley
__________________________
Sujet résolu ? Pensez à mettre le tag Image
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

THE LAST PHOENIX
Nouveau membre
Avatar de THE LAST PHOENIX
Inscrit : 02/02/2008
Messages : 4
Message
#148662
Posté le 02/02/08 à 21:11
Bonjour,

Premierement avant même de définir un hors sujet, et de jouer sur les mots... Il y a la politesse... donc 'bonjour' en début de message est loin d'être un hors sujet.

Secondement, jouer sur les mots n'est pas très professionnel car le developpement se doit d'être rigoureux.

Troisiement, l'operateur '?' existe bien 'tout seul' en implementation ( et non pas '?... :' ) il est utilisé pour definir des variables de type 'nullable'.

Quatriement, pour ne pas jouer sur les mots... L'operateur '?:' n'est pas dit 'ternaire' mais plus précisement 'operateur conditionnel'.

Cinquimement, l'operateur '??' qualifié de 'binaire' ne l'ai pas car c'est un opérateur 'd'assignation'. Et comme dit précédemment il est usité pour la manipulation des types nullables.

Je vous invite donc à regarder ces liens là :

http://msdn2.microsoft.com/en-us/library/ms173224.aspx
http://msdn2.microsoft.com/en-us/library/6a71f45d(VS.80).aspx

Merci.
__________________________
The last Phoenix.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

pistache
Superviseur :
- CSharp (C#)
Modérateur :
- VB .NET
- XAML
Chef de projet(s) :
- Image Data base
- Titan

Avatar de pistache
Inscrit : 22/02/2005
Messages : 1251
Message
#148670
Posté le 03/02/08 à 09:38
Salut,

Last Phoenix, Czayfaboo ne voulait pas être méchant ni impoli, comme le montre sa fin de message. Il exprimait juste son point de vueSmiley

J'ai une question : cet opérateur est-il spécifique au CSharp, ou alors il est aussi disponible dans tous les languages .NET ?

Peace ^^
__________________________
Prière de ne pas oublier le magnifique tag Image (résolu) si votre sujet l'est !

Pistaaaaaaaaaaache

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

THE LAST PHOENIX
Nouveau membre
Avatar de THE LAST PHOENIX
Inscrit : 02/02/2008
Messages : 4
Message
#148689
Posté le 03/02/08 à 21:27
Salut pistache,

Désolé pour le retard, j'étais chez de la famille.
Consernant Czayfaboo je comprend, mais le fait de jouer sur les mots pour justifier 'un hors sujet' je trouve pas ça très cool.
Je suis quelqu'un de très ouvert, et j'accepte tous les points de vue.
Mais il y a des manières d'exprimer son point de vue...
Cependant, je tiens à dire que je n'ai rien contre lui/elle et qu'il ne faut surtout pas prendre ça mal.

Concernant la question...
Perso... Je ne connais pas énormément VB.NET mais je sais que les types nullables existe sous ce language et que l'utilisation de cet operateur est CLS Compliant donc de l'autre coté il y a bien du code natif généré par le CLR pour être suporter sous VB.NET.
Quand à son implementation... Il faudrait voir la spécification de VB.NET pour
être fixé.
J'y jeterais un coup d'oeil et je posterais un message pour mieux te répondre...
Je veux pas dormir idiot. Smiley

Peace ^^
__________________________
The last Phoenix.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM NEWS



    PAGES : [1] [2]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.