动态对象参考C#

我创建了一种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; }

}


扬帆大鱼
浏览 132回答 2
2回答

一只斗牛犬

假设您想要保持数据结构的原样(不建议使用,请参见注释),显而易见的代码简化如下:var d = new Data{&nbsp; &nbsp; 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);
打开App,查看更多内容
随时随地看视频慕课网APP