ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

c# - Tableau à dimension multiple   



L'auteur

eddymaue
Canada Canada
Membre Simple
# 0000000075
enregistré le 26/10/2004
Maue Eddy
j8j 8j8 Gatineau
de la société Formatek
Fiche personnelle


Note des membres
pas de note

Contributions > 80 dotnet > 01 C#

c# - Tableau à dimension multiple
# 0000000769
ajouté le 06/08/2010 20:38:05 et modifié le 06/08/2010
consulté 4613 fois
Niveau débutant

Description
Quelque chose qui me manquais sous Vfp et qu'enfin je retrouve sous c#

tableau à 3 dimensions

Un exemple simple d'utilité serait le maintien en mémoire des mémos dans une année pour une période
de 12 mois

String DateMemo[12,5,7][ ] ;

et ou on a 12 mois, 5 semaine, 7 jours

ExempleNum = 1
l'exemple présenté est un tableau à 3 dimensions remplient de Int si
ExempleNum = 2
tableau de caractere String à 3 dimensions



Code source :
using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;

namespace Etude.Array.ex
{
    class Program2
    {
        static void Main(string[] args)
        {
            int ExempleNum = 2;
            switch (ExempleNum)
            {
                // chapitre 1
                case 1:
                    TableauMultidimensionnel_int();
                    break;

                case 2:

                    TableauMultidimensionnel_String();
                    break;

                default:

                    break;


            }

        }

        static void TableauMultidimensionnel_String()
        {
            String[, ,] MonStringTab = new String[2, 2, 2];

            int i = 0;
            int j = 0;
            int k = 0;


            MonStringTab[k, j, i] = "MonTableau[" + k.ToString() + "," + j.ToString() + "," + i.ToString() + "]";
            i++;
            MonStringTab[k, j, i] = "MonTableau[" + k.ToString() + "," + j.ToString() + "," + i.ToString() + "]";
            j++;
            i = 0;
            MonStringTab[k, j, i] = "MonTableau[" + k.ToString() + "," + j.ToString() + "," + i.ToString() + "]";
            i++;
            MonStringTab[k, j, i] = "MonTableau[" + k.ToString() + "," + j.ToString() + "," + i.ToString() + "]";
            j = i = 0;
            k++;
            MonStringTab[k, j, i] = "MonTableau[" + k.ToString() + "," + j.ToString() + "," + i.ToString() + "]";
            i++;
            MonStringTab[k, j, i] = "MonTableau[" + k.ToString() + "," + j.ToString() + "," + i.ToString() + "]";
            j++;
            i = 0;
            MonStringTab[k, j, i] = "MonTableau[" + k.ToString() + "," + j.ToString() + "," + i.ToString() + "]";
            i++;
            MonStringTab[k, j, i] = "MonTableau[" + k.ToString() + "," + j.ToString() + "," + i.ToString() + "]";

            for (k = 0; k < MonStringTab.GetLength(0); k++)
            {
                for (j = 0; j < MonStringTab.GetLength(1); j++)
                {
                    for (i = 0; i < MonStringTab.GetLength(2); i++)
                    {
                        Console.WriteLine(MonStringTab[k, j, i]);

                    }
                    Console.WriteLine("");
                }
                Console.WriteLine("");
            }
            Console.ReadLine();

        }

        static void TableauMultidimensionnel_int()
        {

            // création d'un tableau à 3 dimensions
int[, ,] MonTableau = new int[3, 2, 2];
MonTableau[0, 0, 0] = 1;
MonTableau[0, 0, 1] = 2;
MonTableau[0, 1, 0] = 3;
MonTableau[0, 1, 1] = 4;
MonTableau[1, 0, 0] = 5;
MonTableau[1, 0, 1] = 6;
MonTableau[1, 1, 0] = 7;
MonTableau[1, 1, 1] = 8;
MonTableau[2, 0, 0] = 9;
MonTableau[2, 0, 1] = 10;
MonTableau[2, 1, 0] = 11;
MonTableau[2, 1, 1] = 12;
Console.WriteLine("nombre de reangés du tableau = {0} \n", MonTableau.Rank);
Console.WriteLine("nombre d'
éléments de la colone {1} du tableau = {0} ", MonTableau.GetLength(0), 1);
Console.WriteLine("
nombre d'éléments de la colone {1} du tableau = {0} ", MonTableau.GetLength(1), 2);
Console.WriteLine("nombre d'
éléments de la colone {1} du tableau = {0} ", MonTableau.GetLength(2), 3);
Console.WriteLine("
");

for (int i = 0; i < MonTableau.GetLength(0); i++)
{
for (int j = 0; j < MonTableau.GetLength(1); j++)
{
for (int k = 0; k < MonTableau.GetLength(1); k++)
{
Console.WriteLine("
Contenu de MonTableau[{0},{1},{2}]= {3}", i.ToString(), j.ToString(), k.ToString(), MonTableau[i, j, k].ToString());
}


} //for (int j ...

} // for ( int i ....


Console.ReadLine();

}

}
}

Commentaires
le 06/08/2010, Jean à Grenoble a écrit :
Si au lieu d'utiliser un tableau, tu utilises des collections, c'est facile à faire en VFP : on peut ajouter une collection comme élément d'une autre collection ...

Si ce n'était pas si tard, je te ferais bien un exemple !

A+
Jean à Grenoble

le 06/08/2010, eddymaue a écrit :
c'est gentil Jean mais ma décision est prise, c#+silverlight. J'abandonne vfp pour mais problème de compatibilité avec Windows mobile

Pour l'instant je me pratique et question de tableau les exemples ne sont pas riches dans l'aide de M$, ni sur le net et bref j'ai 2 pdfs biens faits mais qui ne sont pas trop explicite sur les arrays

le 11/08/2010, Gregory Adam a écrit :
Pour initialiser le tableau

int[ , ,] MonTableau = new int[3,2, 2]
{ {{1,2}, {3,4}},
{{5,6}, {7,8}},
{{9,10}, {11,12}}
};

ou
int[ , ,] MonTableau = new int[,, ]
{ {{1,2}, {3,4}},
{{5,6}, {7,8}},
{{9,10}, {11,12}}
};


Publicité

Les pubs en cours :


www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2018.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0