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 :

Utiliser un tableau en paramètre


Sujet :

C#

  1. #1
    Membre à l'essai
    Profil pro
    Ingénieur logiciel
    Inscrit en
    Janvier 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur logiciel

    Informations forums :
    Inscription : Janvier 2008
    Messages : 9
    Points : 10
    Points
    10
    Par défaut Utiliser un tableau en paramètre
    Bonjour,

    Dans le programme suivant
    Code : 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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    public Form_labelCave()
            {
                const string fileNameOF = "ListeOF.txt";
                /*const*/ int[] fieldsOF = { 8, 15, 11, 6, 100, 1, 2, 1 };
     
                const string fileNameAff = "Affichettes.txt";
                /*const*/ int[] fieldsAff = { 11, 7 };
     
                InitializeComponent();
     
                try
                {
                    ReadFile readFileOF = new ReadFile(fileNameOF, fieldsOF);
                    ReadFile readFileAff = new ReadFile(fileNameAff, fieldsAff);
     
                    int numOF = 0;
                    Display(numOF);
                }
                catch
                {
                }
            }
     
            private class ReadFile
            {
                private Stream stream;
                private int lenRec;
     
                ReadFile(string v_fileName, int[] lenFields)
                {
                    lenRec=0;
                    foreach (int lenField in lenFields)
                    {
                        lenRec += lenField;
                    }
                    stream = new FileStream(v_fileName, FileMode.Open,FileAccess.Read);
                }
     
                ~ReadFile()
                {
                    stream.Close();
                    stream = null;
                }
     
                public string GetRecord(int numRec)
                {
                    byte[] buffer = new byte[this.lenRec];
                    stream.Seek(numRec*lenRec, SeekOrigin.Begin);
                    stream.Read(buffer, 0, this.lenRec);
                    return buffer.ToString;
                }
            }
        }
    La ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new ReadFile(fileNameOF, fieldsOF)
    affiche l'erreur suivante :
    ReadFile ne contient pas un constructeur qui accepte des arguments '2'
    Pourtant il s'agit bien d'un tableau d'entiers

    Questions subsidiaire, pourquoi ne peut-on pas déclarer un tableau avec const ?

    D'avance merci

  2. #2
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Tu a un conflit d'accessibilité
    Met le constructeur public

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
          public ReadFile(string v_fileName, int []lenFields)
          {
             // etc..
          }

    et ToString est une méthode : ToString();

  3. #3
    Membre à l'essai
    Profil pro
    Ingénieur logiciel
    Inscrit en
    Janvier 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur logiciel

    Informations forums :
    Inscription : Janvier 2008
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Merci olibara pour cette réponse.
    Je me focalisais sur le 2e paramètre ...

    Concernant la transformation de mon tableau de bytes en string je butte encore dessus.

    J'ai transformé mon code
    Code : 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
     
    public bool GetRecord(int numRec, out string fileLine)
    {
        try
        {
            byte[] buffer = new byte[this.lenRec];
            stream.Seek(numRec * this.lenRec, SeekOrigin.Begin);
            stream.Read(buffer, 0, this.lenRec);
            fileLine = buffer.ToString;
            return true;
        }
        catch
        {
             return false;
        }
    }

  4. #4
    Membre à l'essai
    Profil pro
    Ingénieur logiciel
    Inscrit en
    Janvier 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur logiciel

    Informations forums :
    Inscription : Janvier 2008
    Messages : 9
    Points : 10
    Points
    10
    Par défaut [Résolu]
    Il faut utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Convert.ToString(buffer)

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/09/2005, 09h34
  2. Réponses: 4
    Dernier message: 24/08/2005, 14h09
  3. Réponses: 3
    Dernier message: 30/05/2005, 23h28
  4. [XHTML] Utilisation de Tableau en XHTML
    Par Kerod dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 02/04/2005, 11h23
  5. Réponses: 6
    Dernier message: 24/02/2005, 09h44

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