gpt4 book ai didi

linq - 如何在由 linq 填充的组合框中插入一个空行?

转载 作者:行者123 更新时间:2023-12-01 06:09:59 26 4
gpt4 key购买 nike

我有一个项目列表,由数据库中的 Linq 提供。现在我用这个列表填充了一个 ComboBox。

我怎样才能得到一个空行?

我的问题是列表中的值不允许为空,所以我不能轻易添加新的空项。

最佳答案

您可以使用 Concat() 将您的真实数据附加到静态项目之后。您需要制作一个空项目序列,您可以使用 Enumerable.Repeat():

list.DataSource = Enumerable.Repeat(new Entity(), 1)
.Concat(GetEntitiesFromDB());

或者通过定义一个简单的扩展方法(在集合论中,单例是基数为 1 的集合):

public IEnumerable<T> AsSingleton<T>(this T @this)
{
yield return @this;
}

// ...
list.DataSource = new Entity().AsSingleton().Concat(GetEntitiesFromDB());

或者更好,写一个 Prepend 方法:

public IEnumerable<T> Prepend<T>(this IEnumerable<T> source, params T[] args)
{
return args.Concat(source);
}


// ...
list.DataSource = GetEntitiesFromDB().Prepend(new Entity());

关于linq - 如何在由 linq 填充的组合框中插入一个空行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1545093/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com