【发布时间】:2014-02-19 04:43:46
【问题描述】:
下面是一段代码sn-p,它从DB中获取所需的数据,并使用类初始化器来初始化属性成员:
var list =
(from spcdata_tb in _dbContext.SPCDATA_TB
from wh_master_tb in _dbContext.WH_MASTER_TB
where spcdata_tb.FACTORY_CODE == factoryCode
&& spcdata_tb.LINE_CODE == lineCode
&& spcdata_tb.MODEL_NO == modelNumber
&& spcdata_tb.FACTORY_CODE == wh_master_tb.WH_CODE
&& spcdata_tb.LINE_CODE == wh_master_tb.LINE_CODE
select new SPCMeasureData()
{
operDateString = spcdata_tb.DATA_WDATE,
operTimeString = spcdata_tb.DATA_WTIME,
inputTimeString = spcdata_tb.DATA_ITIME,
modelNumString = spcdata_tb.MODEL_NO,
DataList[0] = spcdata_tb.DATA1,
DataList[1] = spcdata_tb.DATA2,
DataList[2] = spcdata-tb.DATA3
});
但是,它会引发无法找到 DataList[0] 和 DataList[1] 的编译器错误。
public class SPCMeasureData
{
public DateTime operDateString { get; set; }
public TimeSpan? operTimeString { get; set; }
public TimeSpan? inputTimeString { get; set; }
public string modelNumString { get; set; }
public string modelNameString { get; set; }
public string lotNumString { get; set; }
public int dataSeqString { get; set; }
public string factoryCodeString { get; set; }
public string factoryNameString { get; set; }
public string lineCodeString { get; set; }
public string lineNameString { get; set; }
public string cusNameString { get; set; }
public string equipNumString { get; set; }
public float?[] dataList = new float?[30];
public float?[] DataList
{
get { return dataList; }
set { dataList = value; }
}
}
我怀疑虽然 DataList 的实际数组成员可以从类初始化器中初始化,但它的数组成员不能以同样的方式分配。
有没有办法克服这个问题?
【问题讨论】:
-
我猜唯一的方法是在对象初始化器中初始化数组,如
DataList= new[]{spcdata_tb.DATA1,spcdata_tb.DATA2,spcdata-tb.DATA3}。但不确定这是否也有效。
标签: c# .net asp.net-mvc linq entity-framework