C# List<`a>匿名类传递其他方法

C# List<`a>这种匿名类怎么传递给其他方法
我通过ORM从数据库取出数据结果data:

这是的data类型是List<`a>

  public static object GetDtl()
{
   using (var db = new EfDb())
  {
    var query = from scd in db.INV_STOCK_CHECK_DTL
                      from sm in db.SFC_MITEM.LeftJoin(e => e.ORG_ID == OrgId && e.ENTERPRISE_ID == EnterpriseId && e.ID == scd.MITEM_ID)
                     where scd.ORG_ID == OrgId && scd.ENTERPRISE_ID == EnterpriseId && scd.BILL_NO == billno
                            select new
                            {
                                sm.MITEM_CODE,
                                sm.MITEM_DESC,
                                sm.UOM,
                                scd.WAREHOUSE_CODE,
                                scd.LOC_CODE,
                                scd.DISTRICT_CODE,
                                scd.CHECK_QTY,
                                scd.ONHAND_QTY,                                      
                                scd.DIFF_REASON,
                                scd.ID
                            };
        var data = query.Skip(start).Take(length).ToList();
        GetDefData(data);
    }
}

data类型如图:

我想将这个data传递给另外一个方法GetDefData(data)处理;这是需要用IEnumerable<dynamic>或IEnumerable<object>来接data:

 public static object GetDefData(IEnumerable<dynamic> data )
{
   foreach (var z in data)
    {
        string a=z.MITEM_DESC;
        string b=z.UOM;
        string c=z.WAREHOUSE_CODE;
    }
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#中,可以使用List类的Sort方法来对列表进行排序。排序时,可以使用比较器来指定排序规则。比较器可以使用匿名函数、委托或自定义类来实现。 使用比较器的方式有多种,我将介绍其中两种常见的方式。 第一种方式是使用自定义类来实现比较器。比如,可以定义一个NameComparer类,实现IComparer接口,然后在Compare方法中编写比较逻辑。在排序时,可以将该比较器作为参数传递给Sort方法。示例代码如下: ``` class NameComparer : IComparer<Person> { public int Compare(Person p1, Person p2) { return System.Collections.Comparer.Default.Compare(p1.Name, p2.Name); } } List<Person> persons = new List<Person>(); // 添加persons对象到列表中 persons.Sort(NameComparer.Default); ``` 第二种方式是使用委托来实现比较器。可以使用System.Comparison委托,将比较逻辑作为委托的参数传递给Sort方法。示例代码如下: ``` List<Person> persons = new List<Person>(); // 添加persons对象到列表中 Comparison<Person> NameComparison = new Comparison<Person>(PersonComparison.Name); persons.Sort(NameComparison); ``` 总的来说,无论使用自定义类还是委托,都是为了指定列表的排序规则。通过比较器,可以按照指定的属性(比如姓名、年龄等)进行排序。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [C# List用法 List介绍](https://blog.csdn.net/weixin_41883890/article/details/126081501)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值