如何将元素添加到列表中

本文关键字:列表 添加 元素 | 更新日期: 2023-09-27 18:31:15

我想将此行添加到我的列表中,但是当我放置此消息时,错误results.Add("TOUT");如何将 TOUT 添加到列表中

这是我想添加新元素时的方法

 dynamic results = (from ta in db.client
                               select new
                               {
                                   Name= ta.Name
                               }).Distinct().ToList();

有人可以帮我解决这个问题,谢谢你的帮助

如何将元素添加到列表中

不能将string添加到列表中,因为您没有创建字符串列表。您正在创建匿名类型的实例列表。
几乎从不需要创建只有一个属性的匿名类型,因此只需选择字符串:

(from ta in db.client select ta.Name).Distinct().ToList()

或者只是

db.client.Select(ta => ta.Name).Distinct().ToList()

这将创建一个List<string>。(假设 ta.名称是string

Linq 不是为了支持数据操作而创建的,而是为了支持数据查询。因此,您必须在可以添加元素的任何类型的列表中显示结果。例如:

var results = (from ta in db.client
        select new
        {
            Name= ta.Name
        }).Distinct().ToList();

现在,您可以通过创建共享所需属性的匿名实例来简单地添加元素。

results.Add(new { Name = "TOUT" });

请注意,此处不需要关键字 dynamic,因为返回的列表已经是强类型(尽管程序集中没有类定义,但定义驻留在临时程序集中,其中类型称为 anonymous )。

编辑:为了简化事情,您还可以完全省略匿名类型并仅选择name

所以而不是

select new { ... }

你写

select ta.Name 

因此,您将获得一个字符串列表,您可以在其中简单地将最后一个元素添加到TOUT