类库中有一个列表集合,它使用sql datareader返回家庭详细信息列表。
public class Dataops
{
public List<Details> getFamilyMembers(int id)
{
some of the database code..
List<Details> fammemdetails = new List<Details>();
Details fammember;
while (reader.Read())
{
fammemdetails = new Details((
reader.GetString(reader.GetOrdinal("PHOTO")));
fammemdetails.add(fammember);
}
return fammemdetails;
}
}因此,我将dll引用到我的项目,并希望将图像绑定到数据中心值之一。
MyProject
DataOps ops = new DataOps();
myimage.ImageUrl = ??? (how do i access the list collections return image value here?我能够将数据源绑定到整个方法,如
dropdownlistFamily.DataSource = mdb.GetFamilyMembers(id);但我想不出怎么才能从那里得到一个值
发布于 2013-10-03 17:46:41
您可以根据需要使用First/FirstOrDefault、Single/SingleOrDefault。这将从列表中为您提供一个项目,并且您可以访问它的ImageUrl属性。
var item = mdb.GetFamilyMembers(id).FirstOrDefault();
if(item != null)
myimage.ImageUrl = item.ImageUrlProperty;如果您想根据条件从列表中获取特定对象,那么可以这样做:
var item = mdb.GetFamilyMembers(id).FirstOrDefault(r=> r.ID == someID);你可以看到:LINQ单曲vs SingleOrDefault vs First vs FirstOrDefault
发布于 2013-10-03 17:46:59
使用index访问集合中的特定记录。您需要确保元素存在于索引器中给定的索引处,否则会出现异常。它是基于零的索引,所以第一个元素将在零索引。
var familyMembers = mdb.GetFamilyMembers(id);
if(familyMembers.Count > 0)
myimage.ImageUrl = familyMembers[0].ImageURLProperty;发布于 2013-10-03 17:47:13
您可以使用FirstOrDefault或SingleOrDefault。或者指定谓词并使用Where。
var firstValue = ops.getFamilyMembers(1).FirstOrDefault();https://stackoverflow.com/questions/19165744
复制相似问题