Colección de citas famosas - Slogan de motivación - c #list ltt gt2 encuentra la misma combinación.

c #list ltt gt2 encuentra la misma combinación.

Utilice el sistema;

Utilice el sistema. recolectar. Concurrencia;

Utilizar el sistema. recolectar. Genérico;

Uso del sistema. Diagnóstico;

Utilizar el sistema. Linq

Usa el sistema. hilo. Tarea;

Aplicación de consola de espacio de nombres1

{

Plan de clase

{

static void Main(string[ ] args)

{

Lista ltA gtlist 1 = Init(true);

Lista ltA gtlist 2 = Init(false); >var sw = cronómetro. start new();

Diccionario ltint, A gtdic1 = list1. ToDictionary(m = gt; m.id, m = gtm);

Diccionario ltint, A gtdic2 = list2. ToDictionary(m = gt; m.id, m = gtm);

Paquete concurrente ltA gt resultado = nuevo paquete concurrente lt. A gt();

Paralelo. ForEach(dic1,

Nueva opción de paralelismo { MaxDegreeOfParallelism = 4 },

item = gt

{

Resultado. Agregar (nuevo A { id = elemento.Clave, nombre = elemento Valor.nombre, nivel = dic2[elemento.nivel});

SW. stop();

Consola. WriteLine("Tiempo: {0} milisegundos", software. Milisegundos transcurridos. tostring());

Lista ltA gtlist3 = resultado. ordenar por (m = gt; m.id). to list();

for(int I = 0;i lt10;i)

{

Consola. WriteLine($"id: {list3[i].id} nombre: {list3[i].name} nivel: {list3[i].level}"); p>Consola. read key();

}

Lista estática privada ltA gtInit(bool isFirstList)

{

Lista ltA gtlist = nueva lista ltA gt();

for(int I = 0; i lt1000000; i)

{

if (isFirstList)

lista. Add(new A { id = i, nombre = $ " nombre _ { I . ToString()} " });

Otro

Lista.

Add(new A { id = i, nivel = $ " nivel _ { I . ToString()} " });

}

Orden de devolución;

}

Clase pública A

{

ID int pública { obtener configuración;}

Nombre de cadena pública { obtener configuración }

Nivel de cadena pública { get settings }

}

}

}

No disponible para un En segundo lugar, espero adoptarlo. . . .