作者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)
→ Steven0422:1.計算平均直接在SQL指令處理 2.沒這種東西或是C# 12/28 18:37
→ Steven0422:call Matlab處理 12/28 18:37
推 senjor:自己寫函數。 12/28 21:13
→ Elly:用sql +1 12/29 11:38