1
+ class Program
2
+ {
3
+ static void Main ( string [ ] args )
4
+ {
5
+ #region Conjuntos
6
+ // Conjuntos
7
+ Console . WriteLine ( "----Conjuntos----" ) ;
8
+ var conjunto = new List < int > { 1 , 2 , 3 , 4 , 5 , 6 } ;
9
+ Console . Write ( "Conjunto inicial: " ) ;
10
+ Console . Write ( string . Join ( ", " , conjunto ) ) ;
11
+ Console . WriteLine ( ) ;
12
+
13
+ // Agregar elemento al final
14
+ conjunto . Add ( 7 ) ;
15
+ Console . Write ( "Agregar elemento al final con .Add(item): " ) ;
16
+ Console . Write ( string . Join ( ", " , conjunto ) ) ;
17
+ Console . WriteLine ( ) ;
18
+
19
+ // Agregar elemento al inicio
20
+ conjunto . Insert ( 0 , 0 ) ;
21
+ Console . Write ( "Agregar elemento al inicio con .Insert(index, item): " ) ;
22
+ Console . Write ( string . Join ( ", " , conjunto ) ) ;
23
+ Console . WriteLine ( ) ;
24
+
25
+ // Agregar varios elementos al final del bloque
26
+ conjunto . AddRange ( new List < int > { 11 , 12 , 15 , 14 } ) ;
27
+ Console . Write ( "Agregar varios elementos al final con .AddRange(collection): " ) ;
28
+ Console . Write ( string . Join ( ", " , conjunto ) ) ;
29
+ Console . WriteLine ( ) ;
30
+
31
+ // Agregar varios elementos en posición concreta
32
+ conjunto . InsertRange ( 8 , new List < int > { 8 , 9 , 10 } ) ;
33
+ Console . Write ( "Agregar varios elementos en posición específica con .InsertRange(index, collection): " ) ;
34
+ Console . Write ( string . Join ( ", " , conjunto ) ) ;
35
+ Console . WriteLine ( ) ;
36
+
37
+ // Eliminar elemnto en posición específica
38
+ conjunto . RemoveAt ( 13 ) ;
39
+ Console . Write ( "Eliminar un elemento en posición específica con .RemoveAt(index): " ) ;
40
+ Console . Write ( string . Join ( ", " , conjunto ) ) ;
41
+ Console . WriteLine ( ) ;
42
+
43
+ // Actualizar elemento en posición específica
44
+ conjunto [ 13 ] = 13 ;
45
+ Console . Write ( "Actualzar un elemento en posición específica con collection[index] = value: " ) ;
46
+ Console . Write ( string . Join ( ", " , conjunto ) ) ;
47
+ Console . WriteLine ( ) ;
48
+
49
+ // Comprobar si un elemento existe en el conjunto
50
+ Console . WriteLine ( "Buscar elemento en conjubto con Contains(item)" ) ;
51
+ if ( conjunto . Contains ( 6 ) )
52
+ Console . WriteLine ( "Dentro del conjunto existe el elemento 6" ) ;
53
+
54
+ // Eliminar todo el contenido del conjunto
55
+ conjunto . Clear ( ) ;
56
+ Console . WriteLine ( "Se eliminan todos los elmentos del conjunto to .Clear()" ) ;
57
+ #endregion
58
+
59
+ #region Extra
60
+ // Ejercicio Extra
61
+ Console . ReadLine ( ) ;
62
+ Console . Clear ( ) ;
63
+ Console . WriteLine ( "----Extra----" ) ;
64
+ var conjunto1 = new List < int > { 5 , 7 , 6 , 2 , 0 } ;
65
+ var conjunto2 = new List < int > { 5 , 3 , 1 , 0 , 9 } ;
66
+
67
+ Console . Write ( "Primer conjunto: " ) ;
68
+ Console . Write ( string . Join ( ", " , conjunto1 ) ) ;
69
+ Console . WriteLine ( ) ;
70
+
71
+ Console . Write ( "Segundo conjunto: " ) ;
72
+ Console . Write ( string . Join ( ", " , conjunto2 ) ) ;
73
+ Console . WriteLine ( ) ;
74
+
75
+
76
+ // Unión
77
+ /*
78
+ * La operación Union devuelve una colección con
79
+ * todos los elementos únicos de las dos colecciones
80
+ * especificacdas
81
+ */
82
+ Console . WriteLine ( "---Union---" ) ;
83
+ var union = from item in conjunto1 . Union ( conjunto2 )
84
+ select item ;
85
+ Console . Write ( "Resultado de la operación de conjuntos Union: " ) ;
86
+ Console . Write ( string . Join ( ", " , union ) ) ;
87
+ Console . WriteLine ( ) ;
88
+
89
+ // Intersección
90
+ /*
91
+ * La operación Intersección devuelve una
92
+ * colección con elementos que se encuentran
93
+ * en ambas colecciones
94
+ */
95
+ Console . WriteLine ( "---Intersección---" ) ;
96
+ var intersection = from item in conjunto1 . Intersect ( conjunto2 )
97
+ select item ;
98
+ Console . Write ( "Resultado de la operación de conjuntos Intersección: " ) ;
99
+ Console . Write ( string . Join ( ", " , intersection ) ) ;
100
+ Console . WriteLine ( ) ;
101
+
102
+ // Diferencia
103
+ /*
104
+ * La operación Diferencia devuelve una colección
105
+ * con elementos de la primera colección que no se
106
+ * encuentran en la segunda
107
+ */
108
+ Console . WriteLine ( "---Diferencia---" ) ;
109
+ var difference = from item in conjunto1 . Except ( conjunto2 )
110
+ select item ;
111
+ Console . Write ( "Resultado de la operación de conjuntos Diferencia: " ) ;
112
+ Console . Write ( string . Join ( ", " , difference ) ) ;
113
+ Console . WriteLine ( ) ;
114
+
115
+ // Diferencia Simétrica
116
+ /*
117
+ * La opercacion de Diferencia Simétrica
118
+ * modifica el primer conjunto para que
119
+ * contenga elementos que existen dentro de sí
120
+ * o dentro del segundo conjunto, pero no en ambos
121
+ */
122
+ Console . WriteLine ( "---Diferencia Simétrica---" ) ;
123
+ /*
124
+ * El método SymmetricExceptWith existe para la
125
+ * estructura HashSet
126
+ */
127
+ var hash1 = new HashSet < int > ( conjunto1 ) ;
128
+ var hash2 = new HashSet < int > ( conjunto2 ) ;
129
+
130
+ hash1 . SymmetricExceptWith ( hash2 ) ;
131
+
132
+ Console . Write ( "Resultado de la operación de conjuntos Diferencia Simétrica: " ) ;
133
+ Console . Write ( string . Join ( ", " , hash1 ) ) ;
134
+ Console . WriteLine ( ) ;
135
+ #endregion
136
+
137
+ }
138
+ }
0 commit comments