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 :

Modifier une ligne dans un array


Sujet :

C#

  1. #1
    Membre régulier
    Homme Profil pro
    amateur
    Inscrit en
    Mars 2020
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Mars 2020
    Messages : 7
    Par défaut Modifier une ligne dans un array
    Salut à tous. J'ai une question concernant les array.

    Je voulais savoir s'il existait une commande "simple" pour rapidement remplacer les valeurs d'une ligne ou d'une colonne entière d'un seul coup.

    Je m'explique pour être plus clair:

    Imaginons 2 tableaux:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int[,] Tableau_complet = new int[3, 3];
     
    int[] Une_ligne = new int[3];
    Actuellement, si je souhaite modifier la dernière ligne de mon tableau complet par les valeurs de 'une_ligne', je fais une boucle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      for (int i = 0; i < 3; i++)
            {
               Tableau_complet[i, 2] = Une_ligne[i];
            }

    Simple et rapide... sauf quand le tableau en question possède un grand nombre de lignes à mettre à jour, ça bouffe pas mal de ressource.

    Existe-t-il une commande qui copierait toute une ligne en une fois en faisant économiser du temps de calcul?

    Merci d'avance

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    tu peux regarder le marshalling peut être, qui sert à copier des blocs mémoire, après faut savoir comment est agencé l'array ...
    sinon y a les span qui ne sont que des pointeurs et qui dans certains cas permettent une amélioration
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre régulier
    Homme Profil pro
    amateur
    Inscrit en
    Mars 2020
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Mars 2020
    Messages : 7
    Par défaut
    Oula, je n'ai jamais entendu parler de ces choses là. Je vais lire de la doc dessus.

    Merci beaucoup pour la piste

  4. #4
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    BONJOUR
    Comme dit par Pol63 ,il y a l'Interop et la fonctions MEMCPY de copie bloc de memoire .c'est une copie "fidele" octet par octet.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    [DllImport("msvcrt.dll",  SetLastError = false)]
    static extern IntPtr memcpy(IntPtr dest, IntPtr src, int count);
    tu as aussi la fonction COPYMEMORY :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    [DllImport("kernel32.dll")]
    static extern void CopyMemory(IntPtr destination, IntPtr source, uint length);
    Abondance de biens ne nuit pas.
    bon code...

Discussions similaires

  1. sauter une ligne dans un array
    Par washh dans le forum Langage
    Réponses: 4
    Dernier message: 22/07/2008, 16h02
  2. Modifier une ligne dans un flux
    Par matteli dans le forum C++
    Réponses: 7
    Dernier message: 31/01/2008, 17h11
  3. Modifier une ligne dans un fichier txt en java
    Par nihad510 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 09/10/2007, 22h08
  4. Modifier une ligne dans stdout
    Par getupa dans le forum Général Python
    Réponses: 2
    Dernier message: 21/12/2005, 18h18
  5. Comment faire pour modifier une ligne dans une DBGrid?
    Par Nico62 dans le forum C++Builder
    Réponses: 6
    Dernier message: 29/03/2005, 12h24

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