在代码隐藏中访问我的类返回的列表集合
本文关键字:返回 列表 集合 我的 代码 隐藏 访问 | 更新日期: 2023-09-27 18:33:43
我的类库中有一个列表集合,它使用 sql 数据读取器返回家庭详细信息的列表
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 引用到我的项目中,并希望将图像绑定到我的一个数据读取器值。
我的项目
DataOps ops = new DataOps();
myimage.ImageUrl = ??? (how do i access the list collections return image value here?
我能够像这样将数据源绑定到整个方法
dropdownlistFamily.DataSource = mdb.GetFamilyMembers(id);
但是无法弄清楚如何从那里获取单个值
您可以使用 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 Single vs SingleOrDefault vs First vs First OrDefault
您可以使用
FirstOrDefault
或SingleOrDefault
。 或者指定谓词并使用Where
。
var firstValue = ops.getFamilyMembers(1).FirstOrDefault();
使用 index
访问集合中的特定记录。您需要确保该元素存在于您在索引器中给定的索引中,否则将出现异常。它是从零开始的索引,因此第一个元素将处于零索引处。
var familyMembers = mdb.GetFamilyMembers(id);
if(familyMembers.Count > 0)
myimage.ImageUrl = familyMembers[0].ImageURLProperty;