读书人

数组附值有关问题请高手帮忙解决一下

发布时间: 2012-01-18 00:23:26 作者: rapoo

数组附值问题,请高手帮忙解决一下(在线等)...
我有个一个dt,要取其中一列的值经过判断放到数组中,需要附值的数组我定义成类的全局变量了,但是这段代码报错
错误是未将对象引用或设置为对象示例
请高手帮忙解决,而且我的第2层循环也问题,不知道该怎么解决....

C# code
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;                            }



[解决办法]
C# code
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方法就可以了~~~

C# code
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); 

读书人网 >C#

热点推荐