作者GuiGong ()
看板C_Sharp
标题[问题] 阵列的计算
时间Mon Dec 28 18:25:15 2009
我是C#的新人
之前习惯Matlab程式语法
最近在学习将资料库的资料读出做运算
但觉得自己的code很没效率
希望高手指点:
目的是希望能计算每个人的三科平均值
但每次计算时每一项都要使用Covert.ToInt觉得很麻烦
不知是否可以在什麽地方就可以一次将String转为Int?
另外 是否有类似Matlab的用法 可以直接写
dt(:,5) = ( dt(:,2) + dt(:,3) + dt(:,4) )/3 ;
而省去使用for回圈?
先谢过!!
Code如下:
DataTable dt = new DataTable();
dt.Columns.Add("StudentNo");
dt.Columns.Add("StudentName");
dt.Columns.Add("Math");
dt.Columns.Add("English");
dt.Columns.Add("Chinese");
dt.Columns.Add("Average");
dt.Rows.Add(new object[] { 1, "小明", 60, 75, 90 });
dt.Rows.Add(new object[] { 2, "大黑", 55, 96, 88 });
dt.Rows.Add(new object[] { 3, "小美", 70, 76, 55 });
dt.Rows.Add(new object[] { 4, "大黄", 75, 75, 80 });
dt.Rows.Add(new object[] { 5, "小林", 80, 65, 87 });
dt.Rows.Add(new object[] { 6, "大李", 70, 50, 70 });
for (int i=0; i <= dt.Rows.Count-1; i++)
{
dt.Rows[i][5] =( Convert.ToInt32(dt.Rows[i][2])
+ Convert.ToInt32(dt.Rows[i][3]) + Convert.ToInt32(dt.Rows[i][4]))/3;
}
return dt;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 192.83.177.78
※ 编辑: GuiGong 来自: 192.83.177.78 (12/28 18:25)
1F:→ Steven0422:1.计算平均直接在SQL指令处理 2.没这种东西或是C# 12/28 18:37
2F:→ Steven0422:call Matlab处理 12/28 18:37
3F:推 senjor:自己写函数。 12/28 21:13
4F:→ Elly:用sql +1 12/29 11:38