通過反射獲取屬性值來實現二維陣列的替換改寫
阿新 • • 發佈:2019-07-02
原二維陣列賦值:
for (int j = 1; j <= 25; j++) { if (StringUtil.Trim(StringUtil.ToString(adoDataTable.Rows[num21]["VALUE_" + j.ToString()])) != "") { index++; Array.Resize(ref View_Raw_Data_Out.value_list, index + 1); View_Raw_Data_Out.value_list[index].value = StringUtil.ToString(adoDataTable.Rows[num21]["VALUE_" + j.ToString()]); num20 = StringUtil.ToDouble(adoDataTable.Rows[num21]["VALUE_" + j.ToString()]); num24++; num18 += num20; num19 += num20 * num20; if (num20 < num10) { num10 = num20; } if (num20 > num8) { num8 = num20; } } }
通過反射獲取值後賦值:
for (int j = 1; j <= 25; j++) { int iValue = Convert.ToInt32("Value" + j.ToString()); string s = "listSpcedcfata[num21].value" + j.ToString(); if (StringUtil.Trim(s) != "") { index++; Array.Resize(ref View_Raw_Data_Out.value_list, index + 1); View_Raw_Data_Out.value_list[index].value = StringUtil.ToString(tp.GetProperty("Value" + j.ToString()).GetValue(listSpcedcdata[num21])); num20 = StringUtil.ToDouble(tp.GetProperty("Value" + j.ToString()).GetValue(listSpcedcdata[num21])); num24++; num18 += num20; num19 += num20 * num20; if (num20 < num10) { num10 = num20; } if (num20 > num8) { num8 = num20; } } }
===========