如何在没有FOREACH LOOP的情况下访问匿名类型?

时间:2010-06-24 10:46:46

标签: c# visual-studio visual-studio-2008 linq

我如何测试所有数据。我想访问test.stockdescid和test.barcode

请不要发布:

foreach (var person in  myQuery)

    {

        Console.WriteLine(person);

    }

 var test =  (from s in stock.StockMaterials
                                              where (s.date<= DateTime.Now &&
                                              s.date.ToString() != "01/01/1900 00:00") &&
                                              s.id == ItemID &&
                                              s.chkdate == true
                                              select new { stockdescid= s.stockdescid,barcode=s.barcode});
                        if (ID.First() == ItemID)
                            ReturnMsg = "E1: Please check the expiry date : "+test.First().barcode.ToString();

2 个答案:

答案 0 :(得分:1)

匿名类型只能从创建它们的方法中访问。

你说

  

“我想访问test.stockdescid和   test.barcode“

但“test”是一个集合,您要访问的属性位于集合的项目上,而不是集合本身。

你没有test.barcode,而是test.First()。条形码等等。

那就是说,我不清楚你需要做什么。你能不能更清楚地了解你的目标?

答案 1 :(得分:0)

你的意思是“测试所有数据”?

你可以写......

test.ToList().ForEach(i => i.DoSomething());

如果有帮助吗?