var salerIncomeList = new List<object>();    
  var objitem = new
                {
                    realname = item.realName,
                    username=item.userName,
                   commision=income,                };
    salerIncomeList.Add(objitem);
我如何用foreach遍历 salerIncomeList还是有其他做objitem集合的方法

解决方案 »

  1.   


    foreach(var obj in salerIncomeList)
    {
        
    }
      

  2.   

    for(int i=0;i<salerIncomeList.count;i++)
    {
        salerIncomeList[i];
    }
      

  3.   


    void Main()
    {
    var salerIncomeList = new List<object>();   
      var objitem = new
      {
      realname = "aaa",//item.realName,
      username="bbb",//item.userName,
      commision="ccc"//income,  };
      salerIncomeList.Add(objitem);
      
      foreach(var obj in salerIncomeList)
      {
      System.Reflection.PropertyInfo propertyInfo=obj.GetType().GetProperty("realname");
      Console.WriteLine(propertyInfo.GetValue(obj,null).ToString());  //aaa
      }
    }
    建立楼主新建一个临时类 来实现
      

  4.   

    List<T>泛型是用于具体类型的,你弄个object的泛型,类型安全免除装拆箱等好处荡然无存,失败
    匿名类型本来就没法直接取得类型信息,你还把他cast到object里面,本来就有白内障你还戴个墨镜,失败中的失败
      

  5.   

    写new{...}的时候,应该是仅仅为了写出自己毫不关心接口、而调用程序仅仅去去反射(也不关心类型)对象属性的时候。如果需要写出强类型的代码,就要自定义一个类型。至少目前编译器还没有这个必要给你自动生成类型定义。