Plusieurs structures imbriquées [Résolu]

Signaler
Messages postés
111
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
29 décembre 2008
-
Messages postés
111
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
29 décembre 2008
-
Bonjour,
Je voudrais réaliser plusieurs structures imbriquées
Comme :
Couches[1].Neurons[1].w[1]=0


Dans le ficier Ia.cs :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test
{
class Ia
{
public struct Neuron
{
double[] w;
}

public struct Couche
{
int nNumNeurons;
Neuron[] pNeurons;
};
}
}

Dans le ficier CodeFile1.cs :
using System;
using System.Drawing;
using System.Windows.Forms;

public class toto
{
private void exemple()
{
Couches[1].Neurons[1].w[1]=0;
}
}

merci beaucoup
@+

4 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
Heu, par exemple :

public struct Neuron
{
    // Constructeur
    public Neuron(Int32 nbWs)
    {
        this._w = new Double[nbWs];
    }


    // tableau de Double
    private Double[] _w;


    // Propriété permettant d'accéder au tableau en lecture seule (le tableau, pas ses éléments)
    public Double[] w
    {
        get
        {
            return this._w;
        }
    }
}


public struct Couche
{
    // Constructeur
    public Couche(Int32 nbNeurons)
    {
        this.pNeurons = new Neuron[nbNeurons];
    }


    // tableau de Neurons
    private Neuron[] pNeurons;


    // Propriété permettant d'accéder au tableau en lecture seule (le tableau, pas ses éléments)
    public Neuron[] Neurons
    {
        get
        {
            return this.pNeurons;
        }
    }


    // Obtient le nombre de neurons (pas besoin de la stocker, la classe Array dont hérite tout tableau l'expose via Length/LongLength)
    public Int32 NumNeurons
    {
        get
        {
            return this.pNeurons.Length;
        }
    }
}

Couche[] couches = new Couche[10];
// Initialisation etc etc etc
...
couches[0].Neurons[0].w[0] = 0;

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
Salut,

Ca n'a rien à voir avec des types imbriqués, du moins ils n'ont pas forcément à l'être dans ce cas.
Il "suffit" d'avoir une propriété Neurons dans la classe Couche qui retourne une collection (ou tableau) d'instance de Neuron
etc etc

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
111
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
29 décembre 2008

Salut coq
Je suis un peu perdu là. Ça donne quoi en C# pour avoir :
Couches[i].Neurons[j].w[k]=0 par exemple.
merci encore
@+
Messages postés
111
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
29 décembre 2008

merci beaucoup