在下面的代码中,我想要项目ID和TList的名称,并将它们转换为List。我该怎么做?
List<ListItem> nameItems = new List<ListItem>();
TList<ProductCode> items = GetAllProductCode();
//WANT TO SUBSELECT ID, NAME OF ITEMS IN nameItems
nameItems = (from item in items select new (item.Id, item.Name)).Cast<ListItem>();
答案 0 :(得分:2)
即使您将其更改为new { item.Id, item.Name }
,演员表也会失败,因为您实际上并未选择 ListItem
值。
您需要编写一个创建ListItem
实例的投影。目前尚不清楚这是一个内置的ListItem
类还是你自己的类,但这样的东西很可能是你想要的:
List<ListItem> nameItems = items.Select(item => new ListItem(item.Id, item.Name))
.ToList();
如果您可以告诉我们更多关于ListItem
的内容,那将会有很大帮助。
(还不清楚为什么你在标题中提及子选择预测 - 我无法看到与问题中的子选择相关的任何内容。)