Como evito que elementos se repitan dentro de un foreach c# ef-codefirst mvc5

public static List<string[]> GetIEWithSubSubClasificación(List<VoucherModel> lstVoucher, List<CuentaContableModel> lstCuentaContable ,List<string> listaSubSubClasificacion) {     List<string[]> ReturnValues = new List<string[]>();      decimal TotalSumasResultadoPerdidas = 0;     decimal TotalSumasResultadoGanancias = 0;     int NumeroDeColumnas = 3;     //List<CuentaContableModel> ListaCuentas = ObjCliente.CtaContable.ToList();     //var lstSubSubCategorias = ListaCuentas.Where(x => x.SubSubClasificacion != null).Select(x => x.SubSubClasificacion).FirstOrDefault();     int ContadorDeIteracion = 0;     foreach (CuentaContableModel Cuenta in lstCuentaContable)     {          List<DetalleVoucherModel> lstDetalle = lstVoucher.SelectMany(x => x.ListaDetalleVoucher).Where(r => r.ObjCuentaContable.CuentaContableModelID == Cuenta.CuentaContableModelID).ToList();          if (lstDetalle.Count == 0)             continue;          if (Cuenta.Clasificacion == ClasificacionCtaContable.RESULTADOGANANCIA)         {             decimal SumasDebitosEstaCuenta = 0;             decimal SumasCreditosEstaCuenta = 0;              SumasDebitosEstaCuenta = GetTotalDebe(lstDetalle);             SumasCreditosEstaCuenta = GetTotalHaber(lstDetalle);              decimal TotalSaldoEstaCuenta = SumasDebitosEstaCuenta - SumasCreditosEstaCuenta;             //string Fecha = ParseExtensions.ToDD_MM_AAAA(lstDetalle.First().FechaDoc);             var CodigoInterno = Cuenta.CodInterno;             var CodigoInternoSubSub = Cuenta.SubSubClasificacion.CodigoInterno; 

En esta parte meto la subsubclasificación la idea sería que solo aparezca una sola vez la susubclasificación de una cuenta contable y luego se imprimieran las cuentas contables que pertenecen a esa subsubclasificación. Lo que pasa realmente es que por cada cuenta contable se imprime la subsubclasificación osea se repite si existen varias cuentas contables que pertenecen a una subsubclasificacion ¿Existe alguna manera de hacer que no se repitan? y queden como el ideal que dije?

                    string[] subsubrow = new string[NumeroDeColumnas];                     subsubrow[0] = CodigoInternoSubSub + "   " +                       Cuenta.GetSubSubClasificacionName();                     ReturnValues.Add(subsubrow);                    string[] IEstResultRow = new string[NumeroDeColumnas];                     IEstResultRow[0] = Cuenta.CodInterno;                     IEstResultRow[1] = Cuenta.nombre;                     TotalSumasResultadoGanancias += Math.Abs(TotalSaldoEstaCuenta);                     IEstResultRow[2] = ParseExtensions.NumberWithDots_para_BalanceGeneral(Math.Abs(TotalSaldoEstaCuenta));                    ReturnValues.Add(IEstResultRow);                 //guardaremos el resultado del rellenado y orden de los  resultados en el array "ReturnValues" este contendrá lo necesario para enviarselo al controlador y este plasme el resultado en la vista.         }      } 

Acá dejaré una foto para que vean como sale el resultado

Si se dan cuenta las que están marcadas con rojo son 3 osea que hay 3 cuentas contables que tienen la misma subsubclasificacion (lo que se está repitiendo) la idea seria que fuera solo 1 Agradecería una pequeña ayuda muchas gracias.