的財產陣列我是一個新開發的C#MVC3對象。 我有一個問題,我無法創建包含對象內屬性數組的對象。我不能創建一個包含內部對象
例如,我想創建實例ABC.Property [] 10個陣列。
ABC.Property [0]
ABC.Property [1]
ABC.Property [2] ..... .... ABC.Property [10]
我用調試模式檢查並發現ABC.Property []爲空。所以我不能將該值添加回該對象的數組。
如何與化子性質的陣列箱對象?
謝謝。
namespace finance3.Models
{
public class Expected_and_Risk
{
public decimal[] Prop { get; set; }
public decimal[] Forecast { get; set; }
public string[] Name { get; set; }
public decimal[] AxB { get; set; }
public decimal[] PowAxB { get; set; }
public decimal ExpectValue(Expected_and_Risk abc)
{
decimal count = abc.Forecast.Count();
Expected_and_Risk Result = new Expected_and_Risk();
for (int i = 0 ; i < count ; i++)
{
// here is the problem
// i cannot add new data to array because it has no dimemsion and i tried this
//
// Expected_and_Risk[] Result = new Expected_and_Risk[10];
//
// but it didn't work
Result.Name[i] = abc.Name[i];
Result.Prop[i] = abc.Prop[i];
Result.Forecast[i] = abc.Forecast[i];
Result.AxB[i] = abc.Prop[i] * abc.Forecast[i];
decimal a = Result.AxB[i];
decimal sumAxB =+ a;
double temp = (double)(a * a) ;
Result.PowAxB[i] = (decimal)(temp);
}
return Convert.ToDecimal(Result);
}
}
}
爲什麼要使用單獨的'Initialize'方法而不是像正常那樣在構造函數中執行它? –
一般來說,如果ctor超出8-10行,我更喜歡不同的方法,並在ctor中調用它。這裏並不要求/建議將Initialize方法公開。當數據需要重置時,我創建公共Initialize,Clear方法。 – Tilak
但是有一個單獨的公共Initialize方法正是你的答案建議。在調用構造函數之後,對象沒有完全初始化,這從來就不是一個好的情況,在這裏完全沒有根據。 –