Cuestión : ¿Cómo pueden las subsecuencias del fósforo de C# muy ayunar?

En el ejemplo del problema abajo, cada artículo en los “usableItems” se busca en la estructura de datos de los “originalItems”. Cada artículo que no se encuentra se pone en los usableItems de la secuencia array.

PROBLEM EXAMPLE
string de los discardedItems [] = {“1”, “b7”, “13”}; originalItems del
string [] = {“1”, “3”, “5”, “b7”, “9”, “11”, “13”}; discardedItems del
string [] = {“3”, “5”, “9”, “11”}; ¿el result

How de //final debe estructura del A.C. # del programa los datos y la lógica reducir al mínimo la época de construir el arsenal final de la secuencia nombrado los “discardedItems”? el

I piensa que Regex e IndexOf serían probablemente lentos. Y no estoy seguro sobre usar órdenes del carbón de leña [] de alguna manera. También, pudo haber consideración de un diccionario para las operaciones de búsqueda rápidas, pero por otra parte el establecimiento del diccionario también requerirá tiempo. REGLAS de Hmmm.

SOME (apenas querer explicar claramente): El
(1) los artículos representa numéricamente las notas en acordes comunes del piano. Hay centenares de acordes, con variaciones en sostenidos, los planos, y número de artículos al fósforo y/o se empareje. Los artículos típicos son “3”, “#5”, “7”, “b7”, “#9”, “b11”, “11”, “#11”, “b13”, etc.
(2) que los artículos aumentan siempre numéricamente de izquierda a derecha. Los artículos del
(3) no hacen repeat.
(4) allí pueden ser a partir 1 a 7 “originalItems”. El
(5) allí puede ser a partir 1 a 7 “usableItems”. El
(6) allí nunca será más “usableItems” que “originalItems”. El
(7) cada artículo en “usableItems” EXISTE SIEMPRE en “originalItems”.

NOTE: Para presentar este problema, los órdenes de la secuencia se utilizan para los “usableItems” y los “originalItems”, pero solamente el resultado final “discardedItems” debe ser un arsenal de la secuencia. el

I apreciaría sinceramente un cierto código ideas.
class= del

Respuesta : ¿Cómo pueden las subsecuencias del fósforo de C# muy ayunar?

Hola chaffinsjc;

Si usted está utilizando el estudio visual. La red 2008 o 2010 entonces usted puede utilizar al operador del sistema excepto para conseguir lo que usted necesita.

Fernando
1:
2:
3:
4:
5:
6:
// que hace las originales como lista será más effecent
Enumerar los usableItems = la nueva lista () {“1”, “b7”, “13”};
Enumerar los originalItems = la nueva lista () {“1”, “3”, “5”, “b7”, “9”, “11”, “13”};

Arsenal de la secuencia del resultado de //
encadenar [] los discardedItems = originalItems.Except (usableItems) .ToArray ();
Otras soluciones  
 
programming4us programming4us