作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个项目列表,由数据库中的 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/
我是一名优秀的程序员,十分优秀!