【发布时间】:2019-07-12 20:56:53
【问题描述】:
我有一个具有 IEnumerable 的函数,它将循环创建一个字符串的记录列表。当我只返回一个对象时,我也想使用相同的函数。在中间层有两个函数,一个返回列表,另一个返回对象。
我是否必须构建一个接收对象的新函数?
public List<Model.Disease> GetDisease()
{
var Disease = (from Diseases in db.Diseases
select new Model.Disease
{
DiseaseId = Diseases.DiseaseId,
DiseaseName = Diseases.DiseaseName,
drug = (from d in db.Drug
where (Diseases.DiseaseId == d.DiseaseId
select new drug
{
DrugId = d.drug,
DrugName = d.drugName
}).OrderBy(m => m.DrugName).ToList(),
}).OrderBy(d => d.DiseaseName).ToList();
return Disease;
}
}
public List<Model.Disease> GetDiseaseById(Guid DiseaseId)
{
var Disease = (from Diseases in db.Diseases
select new Model.Disease
{
DiseaseId = Diseases.DiseaseId,
DiseaseName = Diseases.DiseaseName,
drug = (from d in db.Drug
where (Diseases.DiseaseId == d.DiseaseId && d.DrugId ==
1)
select new drug
{
DrugId = d.drug,
DrugName = d.drugName
}).OrderBy(m => m.DrugName).ToList(),
}).OrderBy(d => d.DiseaseName).ToList().FirstOrDefault();
return Disease;
}
}
private string BuildreimbursementDisplay(IEnumerable<ReimbursementDisease> displayList)
【问题讨论】:
-
你能写一个有意义的标题吗?
-
您所描述的类似于
Find()、First()和Single()IEnumerable 扩展方法,但它们都不同,并且都有自己的用例。你想达到什么目的。我认为无论如何,您将需要第二种方法。 -
或者另一种骇人听闻的方式,但会起作用:BuildreimbursementDisplay(new IEnumerabe
().Add(the_single_disease)); -
假设您已经拥有返回可枚举对象和单个对象的函数。要从对象列表中获取单个对象 - 使用 Hogan 的答案
标签: c# ienumerable