使用列表将数据分配到类中

时间:2016-02-09 13:12:11

标签: c# list oop

我有以下课程

public class G481Vars
{
    public double Disp { get; set; }
    public double IniVel { get; set; }
    public double FinVel { get; set; }
    public double Acc { get; set; }
    public double Time { get; set; }
    public double Force { get; set; }
    public double Mass { get; set; }
    public double Weight { get; set; }
    public double Press { get; set; }
    public double Dens { get; set; }
    public double Energy { get; set; }
    public double Area { get; set; }
    public double Vol { get; set; }
}

我已经列出了这样的清单:

List<G481Vars> G481List = new List<G481Vars>();

将输入框数组定义为

HtmlInputText[] G481Inputs = new HtmlInputText[13]
{
    G481Disp_Txt, G481IniVel_Txt, G481FinVel_Txt, G481Acc_Txt,
    G481Time_Txt, G481Force_Txt, G481Mass_Txt, G481Weight_Txt,
    G481Press_Txt, G481Dens_Txt, G481Energy_Txt, G481Area_Txt,
    G481Vol_Txt
}; 

如何做这样的事情

for (int i = 0; i < 13; i++) 
{
    if (G481Inputs[i].Value == "") 
    {
        G481List[i] = 0;
    } 
    else
    {
        //Other code here
    }                
}

0分配给列表索引i中的对象? 我得到的错误是“无法隐式将类型'int'转换为....G481Vars

1 个答案:

答案 0 :(得分:3)

您无法为对象设置int值。您的列表中有G481Vars类型的对象,因此您需要添加此类型的实例。

例如:

而不是:

G481List[i] = 0;

做类似的事情:

// All double values are 0 at default
G481List[i] = new G481Vars();

// Initialize values directly
G481List[i] = new G481Vars() { Disp = 1, IniVel = 5, ...}; 

或者如果要从列表中删除值,则需要在for循环后使用以下代码执行此操作:

myList.Remove(myInstance);