You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
125 lines
4.9 KiB
125 lines
4.9 KiB
// ========================================================================
|
|
//
|
|
// Copyright (C) 2016-2017 MARC CHEVALDONNE
|
|
// marc.chevaldonne.free.fr
|
|
//
|
|
// Module : Program.cs
|
|
// Author : Marc Chevaldonné
|
|
// Creation date : 2016-09-22
|
|
//
|
|
// ========================================================================
|
|
|
|
using static System.Console;
|
|
|
|
namespace ex_005_002_copie_de_tableaux
|
|
{
|
|
class Program
|
|
{
|
|
static void Main(string[] args)
|
|
{
|
|
OutputEncoding = System.Text.Encoding.UTF8;
|
|
|
|
//WindowHeight = LargestWindowHeight;
|
|
|
|
|
|
//COPIE DE TABLEAUX
|
|
WriteLine("\nCopie de tableaux");
|
|
|
|
//1. copie de références
|
|
WriteLine("\nCopie de références\n");
|
|
//préparation des tableaux
|
|
int[] tab6 = { 1, 2, 3 };
|
|
int[] tab7 = { 5, 6, 7, 8, 9, 10 };
|
|
WriteLine("contenu de tab6");
|
|
foreach (int i in tab6) Write($"{i} ");
|
|
WriteLine();
|
|
WriteLine("contenu de tab7");
|
|
foreach (int i in tab7) Write($"{i} ");
|
|
WriteLine();
|
|
//recopie des références
|
|
WriteLine("tab7 = tab6;");
|
|
tab7 = tab6; //attention, on ne copie que les références ! le contenu est donc partagé ! La preuve :
|
|
//affichage des tableaux après copie des références
|
|
WriteLine("contenu de tab6");
|
|
foreach (int i in tab6) Write($"{i} ");
|
|
WriteLine();
|
|
WriteLine("contenu de tab7");
|
|
foreach (int i in tab7) Write($"{i} ");
|
|
WriteLine();
|
|
//modification d'une case d'un des tableaux
|
|
WriteLine("tab7[1] = 4;");
|
|
tab7[1] = 4;
|
|
//affichage des contenus après copie modification d'un des deux tableaux
|
|
WriteLine("contenu de tab7");
|
|
foreach (int i in tab7) Write($"{i} ");
|
|
WriteLine();
|
|
WriteLine("contenu de tab6");
|
|
foreach (int i in tab6) Write($"{i} ");
|
|
WriteLine();
|
|
|
|
//2. copie de contenus, méthode 1 : new + CopyTo
|
|
WriteLine("\nCopie de contenus, méthode 1\n");
|
|
//préparation des tableaux
|
|
int[] tab8 = { 5, 6, 7, 8, 9, 10 };
|
|
WriteLine("contenu de tab6");
|
|
foreach (int i in tab6) Write($"{i} ");
|
|
WriteLine();
|
|
WriteLine("contenu de tab8");
|
|
foreach (int i in tab8) Write($"{i} ");
|
|
WriteLine();
|
|
//recopie des contenus
|
|
WriteLine("tab8 = new int[tab6.Length];\ntab6.CopyTo(tab8, 0);");
|
|
tab8 = new int[tab6.Length]; // on alloue la place de tab6 pour tab8
|
|
tab6.CopyTo(tab8, 0); // on recopie le contenu de tab6 dans tab8 (ils ont la même taille à cause de la ligne d'avant, donc tout va bien)
|
|
//affichage des résultats
|
|
WriteLine("contenu de tab6");
|
|
foreach (int i in tab6) Write($"{i} ");
|
|
WriteLine();
|
|
WriteLine("contenu de tab8");
|
|
foreach (int i in tab8) Write($"{i} ");
|
|
WriteLine();
|
|
//modification d'un des deux tableaux
|
|
WriteLine("tab8[1] = 2;");
|
|
tab8[1] = 2;
|
|
//affichage des contenus après modification d'un des deux tableaux
|
|
WriteLine("contenu de tab6");
|
|
foreach (int i in tab6) Write($"{i} ");
|
|
WriteLine();
|
|
WriteLine("contenu de tab8");
|
|
foreach (int i in tab8) Write($"{i} ");
|
|
WriteLine();
|
|
|
|
//3. copie de contenus, méthode 2 : Clone
|
|
WriteLine("\nCopie de contenus, méthode 2\n");
|
|
//préparation des tableaux
|
|
int[] tab9 = { 5, 6, 7, 8, 9, 10 };
|
|
WriteLine("contenu de tab6");
|
|
foreach (int i in tab6) Write($"{i} ");
|
|
WriteLine();
|
|
WriteLine("contenu de tab9");
|
|
foreach (int i in tab9) Write($"{i} ");
|
|
WriteLine();
|
|
//clonage des tableaux
|
|
WriteLine("tab9 = (int[])tab6.Clone();");
|
|
tab9 = (int[])tab6.Clone();
|
|
//affichage après clonage
|
|
WriteLine("contenu de tab6");
|
|
foreach (int i in tab6) Write($"{i} ");
|
|
WriteLine();
|
|
WriteLine("contenu de tab9");
|
|
foreach (int i in tab9) Write($"{i} ");
|
|
WriteLine();
|
|
//modification d'un des deux tableaux
|
|
WriteLine("tab9[1] = 2;");
|
|
tab9[1] = 2;
|
|
//affichage après modification
|
|
WriteLine("contenu de tab6");
|
|
foreach (int i in tab6) Write($"{i} ");
|
|
WriteLine();
|
|
WriteLine("contenu de tab9");
|
|
foreach (int i in tab9) Write($"{i} ");
|
|
WriteLine();
|
|
}
|
|
}
|
|
}
|