using statment with array require Dispose : The following code using the "using" statement was meant to avoid some sort of memory leak which renders the code slow over long files:

    var db = new EntityContext();
            var cubos = db.CubosTrabalhados;
            var cubo = new CuboTrabalhado();
            string[] lines = File.ReadAllLines(Files.cuboHistorico, Encoding.Default);
            bool header = true;
            int i = 2;

            foreach (string line in lines)
            {
                if (header) header = false;
                else
                {
                    using (var reg = line.Split(';'))
                    {
                        cubo.Pedido = reg[0];
                        cubo.DataPedido = Select.ParseDate(reg[3]);
                        cubo.Cliente = reg[4];
                        cubo.UF = Select.Uf(reg[5]);
                        cubo.Cidade = reg[6];
                        cubo.Regiao = reg[7];
                        cubo.Codigo = reg[8];
                        cubo.Produto = reg[9];
                        ...
                        cubo.VlCom = Select.ParseFloat(reg[63]);
                        cubo.Cnpj = reg[64];
                        cubo.CodProdOriginal = reg[65];

                        cubos.Add(cubo);
                        db.SaveChanges(); 
                       }
               }
         }


But the line with the "using" statement give the error: "'string[]': type used in a using statement must be implicitly convertible to 'System.IDisposable'"

As "Split" is regular part of dot.net I have no clue whatsoever how to implement of the IDisposable interface in such a case.

How does it works?