IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

new or not new


Sujet :

C#

  1. #1
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Points : 637
    Points
    637
    Par défaut new or not new
    Bonjour à tous,

    Lorsque je code en c#, il y a qq chose qui me turlupine.
    Pourquoi de temps en temps je suis obligé d'instancier un object du type :

    monObjet NomObjet = new monObjet();
    NomObjet.Rouge = true;

    et autres fois il suffit juste de faire :

    monObjet NomObjet = NomObjet.Rouge

    Merci
    MCTS Microsoft.
    La conception : Prendre le temps pour gagner du temps.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 62
    Points : 73
    Points
    73
    Par défaut
    parce qu'il y a 2 types d'objets en .net
    il y a les types de base : int, double, float, bool , enum etc ...
    qui ne recquiert pas l'utilisation du new
    et les autres ou tu dois déclarer une nouvelle instance d'objet avec le new pour obtenir un emplacement mémoire

    pourquoi pas de new ?
    parce que ce sont des types commun et que le compilateur fait le new a ta place

    quand tu fais

    int i=5;

    en fait voila ce que tu pourrais aussi ecrire
    System.Int32 i = new System.Int32(5);

    résolu ?

  3. #3
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Citation Envoyé par topolino Voir le message
    Bonjour à tous,

    Lorsque je code en c#, il y a qq chose qui me turlupine.
    Pourquoi de temps en temps je suis obligé d'instancier un object du type :

    monObjet NomObjet = new monObjet();
    NomObjet.Rouge = true;

    et autres fois il suffit juste de faire :

    monObjet NomObjet = NomObjet.Rouge

    Merci
    Hum. Dans le 2ème cas monObjet est peut-etre un enum ou bien Rouge est une propriété static qui retourne un objet de type NomObjet. Mais je penche plutot pour un enum.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  4. #4
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Points : 637
    Points
    637
    Par défaut
    Merci pour vos reponse, c'est plus clair.
    MCTS Microsoft.
    La conception : Prendre le temps pour gagner du temps.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 121
    Points : 67
    Points
    67
    Par défaut
    parce qu'il y a 2 types d'objets en .net
    il y a les types de base : int, double, float, bool , enum etc ...
    qui ne recquiert pas l'utilisation du new
    On dit plutot type valeur que type de base. Le type valeur est déclaré sur la pile et contient directement en mémoire une valeur. Il s'oppose au type référence dont la valeur contient en fait une adresse mémoire de l'objet.

    Les types valeurs se déclinent en deux catégories Structs et Enum.
    Struct pouvant être de type entier, flottant, decimal, voir un type de struct customisé.

    Ne pas oublier les type nullables qui sont apparus avec la version 2.0.
    int? i;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conflit entre surcharge de new et placement new?
    Par Médinoc dans le forum Langage
    Réponses: 2
    Dernier message: 27/05/2012, 10h30
  2. ERROR: record "new" is not assigned yet
    Par bsangoku dans le forum Débuter
    Réponses: 3
    Dernier message: 01/04/2011, 05h58
  3. ERROR: record "new" is not assigned yet
    Par voxov dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 08/09/2010, 15h23
  4. new : Object reference not set to an instance of an object
    Par zulad dans le forum Windows Forms
    Réponses: 3
    Dernier message: 19/06/2007, 20h35
  5. probleme avec : record "new" is not assigned yet D
    Par chtieu dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 31/03/2005, 20h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo