在代码隐藏中访问我的类返回的列表集合

本文关键字:返回 列表 集合 我的 代码 隐藏 访问 | 更新日期: 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/FirstOrDefaultSingle/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

您可以使用

FirstOrDefaultSingleOrDefault。 或者指定谓词并使用Where

var firstValue = ops.getFamilyMembers(1).FirstOrDefault();

使用 index 访问集合中的特定记录。您需要确保该元素存在于您在索引器中给定的索引中,否则将出现异常。它是从零开始的索引,因此第一个元素将处于索引处。

var familyMembers =  mdb.GetFamilyMembers(id);
if(familyMembers.Count > 0)
    myimage.ImageUrl = familyMembers[0].ImageURLProperty;