Exemplo n.º 1
0
        /// <summary>
        /// preenche o  _regAleatorios com registros aleatorios com
        /// quantidade igual a 25% da quantidade de dados da base original
        /// </summary>
        private void PreencherAleatorios()
        {
            var rdn = new Random();

            for (int j = 0; j < Convert.ToInt32(Dados.Rows.Count / 4.0); j++)
            {
                DataRow dr = RegAleatorios.NewRow();
                int     max, min;
                for (int i = 0; i < Dados.Columns.Count; i++)
                {
                    //é verificado o tipo da coluna para gerar o dado aleatorio
                    if (Dados.Columns[i].DataType == typeof(long))
                    {
                        min   = Convert.ToInt32(Dados.AsEnumerable().Min(x => x.Field <long>(i)));
                        max   = Convert.ToInt32(Dados.AsEnumerable().Max(x => x.Field <long>(i)));
                        dr[i] = rdn.Next(min, max);
                    }
                    else
                    {
                        min   = Convert.ToInt32(Dados.AsEnumerable().Min(x => x.Field <double>(i)));
                        max   = Convert.ToInt32(Dados.AsEnumerable().Max(x => x.Field <double>(i)));
                        dr[i] = rdn.Next(min, max) + rdn.NextDouble();
                    }
                }
                RegAleatorios.Rows.Add(dr);
            }
        }