我创建了一种Mydata方法,以从列表(listData)分配新数据。但是我这样做的方式不是动态的,而是使用if else语句来确定要添加多少数据以及它属于哪个属性。有没有一种方法可以简化此过程或使其动态变化,而无需使用if else语句。public List<Data> _newData = new List<Data>();public void Mydata(int number, List<string> listData) { if (number == 1) { _newData.Add(new Data() { variable0 = listData[0].ToString(), }); } else if (number == 2) { _newData.Add(new Data() { variable0 = listData[0].ToString(), variable1 = listData[1].ToString(), }); } else if (number == 3) { _newData.Add(new Data() { variable0 = listData[0].ToString(), variable1 = listData[1].ToString(), variable2 = listData[2].ToString(), }); } class Data{ public string variable1 { get; set; } public string variable2 { get; set; } public string variable3 { get; set; } public string variable4 { get; set; } .. public string variable10 { get; set; }}
2 回答
一只斗牛犬
TA贡献1784条经验 获得超2个赞
假设您想要保持数据结构的原样(不建议使用,请参见注释),显而易见的代码简化如下:
var d = new Data
{
variable0 = listData[0];
};
if (number >= 1) d.variable1 = listData[1];
if (number >= 2) d.variable2 = listData[2];
if (number >= 3) d.variable3 = listData[3];
_newData.Add(d);
- 2 回答
- 0 关注
- 145 浏览
添加回答
举报
0/150
提交
取消