我想LineOfBusiness从等于的promotionCatalogResponseRootObject地方审视财产PromotionIDmyId
public class PromotionCatalogResponseRootObject
{
public PromotionCatalogResponse PromotionCatalog { get; set; }
}
public class Promotion
{
public string PromotionId { get; set; }
public string LineOfBusiness { get; set; }
public string PromotionName { get; set; }
}
public class PromotionCatalogResponse
{
public List<Promotion> Promotion { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我这样开始,但我知道我做错了.请指导
string myId = "7596";
string lineOfBusiness = dataPromotionCatalog.PromotionCatalog
.Promotion.Find(p => p.LineOfBusiness);
Run Code Online (Sandbox Code Playgroud)
你所缺少的是该Find方法需要接受一个谓语用bool返回值,但你正在返回string的LineOfBusiness属性.
首先过滤所需的项目,然后选择所需的属性.另外,我会选择Where而不是Find.(Find()vs. Where().FirstOrDefault())
var result = dataPromotionCatalog.PromotionCatalog.Promotion
.Where(i => i.PromotionId == myId)
.Select(i => i.LineOfBusiness);
Run Code Online (Sandbox Code Playgroud)
或者在查询语法中
var result = (from item in dataPromotionCatalog.PromotionCatalog.Promotion
where item.PromotionId == myId
select item.LineOfBusiness);
Run Code Online (Sandbox Code Playgroud)
如果您期望/想要有一个项目,那么使用FirstOrDefault:
var result = dataPromotionCatalog.PromotionCatalog.Promotion
.FirstOrDefault(i => i.PromotionId == myId)?.LineOfBusiness;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
84 次 |
| 最近记录: |