日期:2014-05-18 浏览次数:21073 次
for (int k = 0; k < ds.Tables[0].Rows.Count; k++)//循环取出m=0.2时的值
                        {
                            
                            mach = double.Parse(ds.Tables[0].Rows[k]["马赫数"].ToString());
                            if (0.205 > mach && mach > 0.195)
                            {
                                count = count + 1;
                                for (int c = 0; c < count; c++)
                                {
                                    arr[a] = mach;
                                }
                            }
                            
                            
                            
                        }
                        for (int j = 0; j < avg.Length ; j++)
                            {
                                a += avg[i] / avg.Length;
                            }
List<double> list = new List<double>();
for (int k = 0; k < ds.Tables[0].Rows.Count; k++)
{
    double mach = Convert.ToDouble(ds.Tables[0].Rows[k]["马赫数"]);
    if(mach < 0.205 && mach > 0.195)
    {
        list.Add(mach);
    }
}
arr = list.ToArray();
------解决方案--------------------
汗,UBB咋啦:
List list = new List();
for (int k = 0; k < ds.Tables[0].Rows.Count; k++)
{
   double mach = Convert.ToDouble(ds.Tables[0].Rows[k]["马赫数"]);
   if(mach < 0.205 && mach > 0.195)
   {
       list.Add(mach);
   }
}
arr = list.ToArray();
------解决方案--------------------
晕:
List<double> list = new List<double>();
for (int k = 0; k < ds.Tables[0].Rows.Count; k++)
{
   double mach = Convert.ToDouble(ds.Tables[0].Rows[k]["马赫数"]);
   if(mach < 0.205 && mach > 0.195)
   {
       list.Add(mach);
   }
}
arr = list.ToArray();
------解决方案--------------------
List<double> list = new List<doubl>();
for (int k = 0; k < ds.Tables[0].Rows.Count; k++)
{
   double mach = 0;
   if (double.TryParse(ds.Tables[0].Rows[k]["马赫数"].ToString(),out mach) && mach < 0.205 && mach > 0.195)
   {
       list.Add(mach);
   }
}
double[] arr = list.ToArray();
你的第二个循环干嘛?求平均值么?
------解决方案--------------------
不知道你可以使用Linq不,你的要求用linq实现似乎更简单
------解决方案--------------------
你如果只是为了求平均值才去获得这个数组的话那就没必要了
直接用DataTable.Compute方法就可以了~~~
DataTable table = new DataTable();
table.Columns.Add("count", typeof(int));
for (int i = 0; i < 5; i++)
{
    DataRow row = table.NewRow();
    row["count"] = i;
    table.Rows.Add(row);
}
double result = 0;
double.TryParse(table.Compute("AVG(count)", "count > 3").ToString(), out result);