CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : [C#] Question sur les directives de préprocesseur

DébutPage précedente
1
Page suivantePage suivante
V42 V42
MP
Niveau 1
02 juillet 2015 à 18:13:56

Salut, je débute dans la programmation OO avec C#, et j'ai une question à propos des directives de préprocesseur.

En fait, en C, j'avais l'habitude de définir mes tailles de tableaux avec des constantes (genre grille[HAUTEUR][LARGEUR]) pour faciliter les conditions de boucles pour interagir avec ces derniers, mais j'ai l'impression qu'en C#, c'est pas possible d'utiliser les directives de préprocesseur pour donner des valeurs.

J'ai cherché un peu sur le site officiel de microsoft, et ils disent qu'utiliser le define pour des valeurs est pas possible comme en C, et qu'il fallait plutôt utiliser des membres statiques d'une classe ou d'une structure... et j'suis pas trop sûr de comprendre ce que c'est ni comment faire.

Quelqu'un saurait m'expliquer ce qu'ils veulent dire par là ? Ou même comment faire tout simplement ? Merci d'avance :)

[Kyomaro] [Kyomaro]
MP
Niveau 10
02 juillet 2015 à 18:16:46

Je crois que ça veut dire que tu devrais créer une classe "Constantes" avec tes valeurs dedans, en static :)

Darkandgel Darkandgel
MP
Niveau 10
02 juillet 2015 à 18:20:38

1) Un membre statique d'une classe est un membre commun a toutes les instances de cette classe.
2) J'imagine qu'en C#, comme en JAVA, on nedéfinit qu'assez rarement la taille d'un tableau. A la place on utilise des types qui peuvent prendre un nombre pseudo infini d'objets (Arraylist par exemple)
3) Si tu veux malgré tout définir ton tableau manuellement, tu peux utiliser des constantes, sans passé par le préproc.

@Kyomaro : je chipotte, mais je pense que c'est une mauvaise idée. même si ces valeurs sont statiques, elles sont tout de même rattachée a sa classe, et devraient donc figurer dedans

Message édité le 02 juillet 2015 à 18:21:38 par Darkandgel
[Kyomaro] [Kyomaro]
MP
Niveau 10
02 juillet 2015 à 18:28:35

@Kyomaro : je chipotte, mais je pense que c'est une mauvaise idée. même si ces valeurs sont statiques, elles sont tout de même rattachée a sa classe, et devraient donc figurer dedans

Oui, elles figurent dedans, ce sont des attributs de la classe, mais par exemple si tu veux accéder à une constance, tu fais Constantes.nom :)

Enfin j'ai jamais test, j'ai fait qu'interpréter ce qu'il a pensé comprendre du site, je ne sais absolument pas ce que ça donnerait :hap:

V42 V42
MP
Niveau 1
02 juillet 2015 à 18:38:55

Okok merci pour vos réponses, je m'informerai sur ce que vous avez évoqué.

@Haptaro : J'ai pour habitude de me donner un projet "simple" à développer et d'apprendre sur le tas ce dont j'ai besoin pour progresser. Peut être je devrais remettre en question mes méthodes d'apprentissages, merci pour le conseil ^^

papy386 papy386
MP
Niveau 10
03 juillet 2015 à 11:44:24

Dans les propriétés de ton project c# sur Visual Studio tu a Générer et Symbol ede compilations conditionnelle c'est en gros là que tu crés tes #define, par exemple EXEMPLE1;EXEMPLE2

puis dans le code tu fait juste

[sharp]if EXEMPLE1
ton code
[sharp]else
autre code
[sharp]endif

et/ou

[sharp]if EXEMPLE2
ton code
[sharp]endif

PS remplace [sharp] par #

Message édité le 03 juillet 2015 à 11:46:21 par papy386
DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : godrik, LGV
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment