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 :

Stockage de multiples valeur retour d'une fonction (conversion code Lua) [Débutant]


Sujet :

C#

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Stockage de multiples valeur retour d'une fonction (conversion code Lua)
    Salut tout le monde,
    Je suis un débutant dans C# et j'aimerai convertir un bout de code Lua, il s'agit de modding (GTA 5) , voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    local handle, ped = FindFirstPed()
    local success
     
    repeat
        success, ped = FindNextPed(handle)
    until not success
     
    EndFindPed(handle)
    En gros il y a 2 fonctions qui retourne 2 valeurs a chaque fois.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FindFirstPed()
    FindNextPed(handle)
    Dans Lua c'est assez simple de récupérer ces valeurs, comme vous pouvez le voir, par ex avec la première fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    local handle, ped = FindFirstPed()
    La variable "success" récupère la première valeur, tandis que "ped" récupère la seconde valeur renvoyés par la fonction "FindFirstPed".

    Ma question est simple: comment pourrais-je faire exactement le même code en C#, plus particulièrement la partie récupération des valeurs.

    Pour plus d'information sur ces fonctions Native:
    https://runtime.fivem.net/doc/refere...ml#_0xfb012961
    et aussi:
    https://github.com/citizenfx/fivem/c...6f92393d33d211

    Merci de votre aide!

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 196
    Points : 5 785
    Points
    5 785
    Par défaut
    Je n'ai pas comprit ce que te retournaient les deux fonctions FindFirstPed() et FindNextPed()

    Mais nous pouvons discuter, plus généralement, de comment retourner plusieurs valeur avec en c#.

    Voici quelques exemples :

    Utilisations
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    string var1;
    int var2;
     
    // Avec out
    func1(out var1, out var2);
    // var1 vaut "content 1" et var2 vaut 1
     
     
    // Avec Tuple, a partir de .Net 4.0
    var result2 = func2();
    var1 = result2.Item1;
    var2 = result2.Item2;
    // var1 vaut "content 2" et var2 vaut 2
     
     
    // Avec une class (ou struct)
    MonObj result3 = func3();
    var1 = result3.var1;
    var2 = result3.var2;
    // var1 vaut "content 3" et var2 vaut 3
    // En général nous conservons l'objet result3 et l'utilisons directement
     
     
    // Avec ref
    func4(ref var1, ref var2);
    // var1 vaut "content 4" et var2 vaut 4

    Les fonctions
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    public void func1(out string _var1, out int _var2)
    {
        _var1 = "content 1";
        _var2 = 1;
    }
     
    public Tuple<string, int> func2()
    {
        Tuple<string, int> result = new Tuple<string, int>("content 2", 2);
        // Ou ceci est équivalent et plus "simple"
        // var result = Tuple.Create("content 2", 2);
     
        return result;
    }
     
    public MonObj func3()
    {
        MonObj result = new MonObj();
        result.var1 = "content 3";
        result.var2 = 3;
        return result;
    }
    public class MonObj
    {
        public string var1;
        public int var2;
    }
     
    public void func4(ref string _var1, ref int _var2)
    {
        _var1 = "content 4";
        _var2 = 4;
    }

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Merci @ericlm128 c'est exactement ce que je cherchais comme information. D'ailleurs ces fonctions retourne 2 valeurs, une type bool et une autre type int.

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

Discussions similaires

  1. Récupération valeur retour d'une fonction Javascript
    Par ejazz75 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/06/2013, 15h56
  2. Réponses: 4
    Dernier message: 19/01/2009, 11h12
  3. Réponses: 5
    Dernier message: 14/06/2008, 13h30
  4. Réponses: 5
    Dernier message: 13/06/2007, 15h05
  5. Réponses: 5
    Dernier message: 18/09/2006, 14h17

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