问题标签 [icollection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
206151 浏览

c# - 使用列表作为 DataGridView 的数据源

我已将配置文件中的设置名称及其各自的值提取到有序字典中。字典包含 ICollection 类的键和值。我想绑定该数据并将其显示在 DataGridView 中。我尝试将字符串复制到数组并显示这些数组,但是当我运行程序时,列是空白的,并且似乎根本没有绑定。

我还尝试将 DataGridView 源直接设置为有序字典集合(键或值)之一,但这也没有产生任何我想要的结果;列仍然是空白的。但是,第三列的列名称为“length”,并显示 ICollection 中条目的长度。但不用说我不想要长度,我想要条目本身。

这是我用于此问题的代码:加载表单后,我加载配置文件,名为 m_Settings 的私有成员拥有所有键值对。然后我创建一个列表并分别添加键和值。将绑定源设置为“数据”后,我运行程序,我添加的两列都是空白的。

关于如何获取有序字典并在标有“设置”和“值”的两列中显示条目的任何想法?我相信列表是 DataGridViews 的兼容数据源,但现在我开始怀疑自己。

非常感谢任何帮助或指导!如果需要,我很乐意提供更多信息。

谢谢!

编辑

这是已实现 myStruct 类的修改后的代码:

但是,当我将绑定 DataDource 设置为列表时,DataGridView 上什么也没有出现,它只是空的。有谁知道为什么?

0 投票
1 回答
4306 浏览

asp.net-mvc-2 - 无法将类型“System.Collections.Generic.List”隐式转换为“Models.CustomerViewModel”

我正在尝试传递包含自定义界面中包含的两个对象的数据列表,

我的界面包括

然后我的存储库我有这个方法

然后我有我的视图模型

我的控制器动作

当我试图将集合传递给需要列表的分页函数时,这一行会引发错误。

错误是

有没有办法转换正在返回的列表,以便它可以在视图模型中使用?

这是客户视图模型

0 投票
2 回答
5317 浏览

.net - 为什么要锁定 Collection.SyncRoot 而不是锁定集合?

我试图了解 ICollection 中同步根的意义。为什么不直接锁定收藏?

对比

0 投票
3 回答
11817 浏览

c# - 在列表中查找项目通过提供示例对象实例

为什么有List<T>.Contains(T)方法却没有List<T>.Find(T)方法?仅Find支持支持谓词的 s。如果我们有一个现有的 T 实例填充了它的 ID 的属性值(但缺少其他属性)为什么我们不能通过提供这个对象实例来搜索 in 进行搜索List,特别是当我们已经实现自定义IEquatable<T>T希望使用什么东西在那里。但事实上,我们不能,我们必须在调用中重复我们在IEquatable实现中所做的一切。Find(predicate)

0 投票
1 回答
1712 浏览

c# - 为什么 WhereSelectArrayIterator 不实现 ICollection?

在通过 Reflector 查看System.Linq.Enumerable时,我注意到用于SelectWhere扩展方法的默认迭代器 - WhereSelectArrayIterator - 没有实现ICollection接口。如果我正确阅读代码,这会导致其他一些扩展方法,例如Count()ToList()执行速度较慢:

}

我已经对此进行了测试,结果证实了我的怀疑:

ICollection:2388.5222 毫秒

IEnumerable:3308.3382 毫秒

这是测试代码:

我是否遗漏了什么,或者这会在未来版本的框架中得到修复吗?

谢谢你的想法。

0 投票
1 回答
922 浏览

asp.net-mvc-3 - 将 ASP.NET MVC 3 与 Razor 一起使用,将 ICollection 添加到 Create 视图的最有效方法是什么?

我使用 Entity Framework Code First 来生成我的数据库,所以我定义了一个对象,如下所示:

现在我正在为此创建一个视图,并且默认的脚手架没有将流派添加到我的表单中,从过去的经验来看,这与我的期望差不多。

在网上看,我发现Using ASP.NET MVC v2 EditorFor 和 DisplayFor with IEnumerable<T> Generic types这似乎最接近我想要的,但对于 Razor 和 MVC 3 似乎没有意义,每个ASP。 NET MVC 3 带有 UIHint 的自定义显示模板 - 需要 For 循环吗?.

目前我已经将流派列表添加到 ViewBag 中,然后在我的创建视图中循环遍历该列表:

除了尚未处理用户禁用 JavaScript 并且需要重新检查复选框以及使用此信息实际更新数据库的情况之外,它确实会输出我想要的类型。

但这感觉不对,基于 MVC 3 的好坏。

那么在 MVC 3 中处理这个问题的最有效方法是什么?

0 投票
1 回答
609 浏览

asp.net-mvc-3 - 表 mvc3 之间的关系

我正在 MVC 3 中构建网站。

我首先在现有数据库中使用 EF 代码。

我在模型中的 ET 看起来像这样:

正如您在我的第一个表中看到的那样,我与另一个名为 PageContent 的表有关系。

在我的 Pages 课程中,我有这个代码

现在,当我尝试将新 pageContent 添加到新页面时出现错误。

看到这个代码

错误是

你调用的对象是空的。

我做错了什么?

0 投票
1 回答
349 浏览

.net - 大小有限的 IList或 ICollection当添加一个新项目时,第一个项目被丢弃

我正在寻找某种实现IList<T>ICollection<T>行为方式,它可以容纳指定数量的项目。

如果添加新项目会超过限制数量,则应自动丢弃第一个项目,以便为新添加的项目腾出空间。

0 投票
1 回答
113 浏览

c# - 投射列表(其中 T : IBar)到 ICollection失败

我有classT,正在执行interfaceIBar

我有一个list类型的变量List<T>

提高我对语言的理解的两个问题:

  • 为什么这不起作用?

    var foo = (ICollection <IBar>)list; // fails!

  • 如何解决它(如果可能)?

0 投票
4 回答
85028 浏览

c# - ICollection与列表在实体框架中

在我开始设计一些实体框架应用程序之前,我只看了一些网络广播。我真的没有阅读那么多文档,我觉得我现在正在为此受苦。

我一直List<T>在课堂上使用,效果很好。

现在我已经阅读了一些文档,它指出我应该一直使用ICollection<T>. 我改成了这个,它甚至没有引起模型上下文的改变。这是因为 bothList<T>ICollection<T>inherit IEnumerable<T>,而这正是 EF 实际需要的吗?

但是,如果是这种情况,为什么 EF 文档没有说明它需要IEnumerable<T>而不是ICollection<T>?

无论如何,我所做的是否有任何缺点,或者我应该改变它吗?