Tag: collections

如何将Object 绑定到datagridview?

我有二维数组与不同类型的数据(int,string,float)。 如何将其绑定到数据网格视图? 或者将其转换为数据View或BindingList或DataTable,然后将其绑定到datagridview? 编辑:对象[,]是完全动态的数据(不同的行,列,数据类型,类似转储数据):( Excel工作表) [0,x]“kjslwe”3“w”45“erer”643“reew”“54”56 34 [1,y] 23“e”1“sf”123213“ds”343433

要使用哪个集合类:Hashtable还是Dictionary?

我需要定义一个具有内部集合对象的类,以通过字符串键来保存不同类型的值(例如string,int,float,DateTime和bool)。 我可以使用Hashtable,因为它不是强类型集合类,而字典用于强类型项(即使我可以使用对象的字典)。 这是我想要定义我的类及其用法的情况: public class MyBaseClass { protected Hashtable ht = new Hashtable(); MyClass public SetValue(string key, T value) { ht.Add(key, value); return this; } public abstract D GetObject(); } // Example of using the base class for data as class Data1 public MyClass : MyBaseClass { public Data1 GetObject() { return new Data1 { […]

实现IList接口

我是仿制药的新手。 我想通过从IList接口派生它来实现我自己的集合。 你能给我一些实现IList接口的类的链接,或者为我提供一个至少实现Add和Remove方法的代码吗?

如何交叉两个不同的IEnumerable集合

我认为这个问题之前已经被问到,但我还没有能够推断出一个明确的答案。 我试图找到最好的方式(或一种方式)来交叉两个完全不同的可相关集合。 A类: int z1 int z2 int z3 字符串z4 B级: int j5 int j6 T j7 T j8 字符串j9 ..我想在z2 == j6上将List与List相交。 可以这样做吗?

C#List .RemoveAll() – 如何删除列表的子集?

我有2个类feed_Auto和具有多个匹配属性的Product 。 对于此特定问题,AutoID是我需要使用的唯一字段。 我有一个List ,有几百个唯一条目。 我有一个小的List有10个,20个唯一条目。 我现在想要从大列表中删除小列表中的所有项目。 如何使用RemoveAll({lambda expression})来完成此任务? 我发现的所有示例都取决于通用列表是简单类型(字符串,整数等)。 private static int DoInserts(ref List source, ref List target, Guid companyID) { List newProductList = new List(); List dropSourceList = new List(); using (var db = Helpers.GetProdDB()) { foreach (var src in source) { var tgt = target.Where(a => a.alternateProductID == src.AutoID && a.LastFeedUpdate 0) […]

什么.NET 4.0 System.Collections.Concurrent集合在function中添加到.NET 3.0 SynchronizedCollection?

.NET 4.0引入了System.Collections.Concurrent命名空间: “ System.Collections.Concurrent命名空间提供了几个线程安全的集合类,每当多个线程同时访问集合时,应该使用它们代替System.Collections和System.Collections.Generic命名空间中的相应类型” BlockingCollection类 ConcurrentBag类 ConcurrentQueue类 ConcurrentDictionary类 OrderablePartitioner类 Partitioner类 IProducerConsumerCollection接口 SynchronizedCollection类(自.NET 3.0起可用): “提供一个线程安全的集合,其中包含generics参数指定的类型的对象作为元素” …位于System.Collections.Generic命名空间中。 那么,为什么SynchronizedCollection类是线程安全的而不是并发的? 具体是什么使SynchronizedCollectiongenerics类与System.Collections.Concurrent集合不同且不兼容? 更新:让我重新解释一个问题:属于System.Collections.Concurrent命名空间的所有generics集合中的共同点和区分新特性是什么,它在SynchronizedCollectiongenerics类中不存在(并且在使用时不可能)? 我将标题更改为“.NET 4.0 System.Collections.Concurrent集合在function中添加到.NET 3.0 SynchronizedCollection ?”。 但大多数情况下,我很想知道是什么让它无法在.NET 3.0的基础上进行 Update2 :关于说明: “这个问题可能已经有了答案: SynchronizedCollection和其他并发集合有什么区别? “ 答案是在我的问题的背景下混淆 – 新function是进化的(使用预4.0版function)还是革命性的(在.NET 4.0之前不可用)?

为什么HashSet 没有实现IReadOnlyCollection ?

我刚刚发现.NET Fx现在有3个有用的接口: IReadOnlyCollection IReadOnlyList IReadOnlyDictionary 我有点困惑为什么HashSet没有实现IReadOnlyCollection ? 有什么理由,或者微软再次忘记了套装? UPD 经过两个小时的谷歌搜索后,我发现BCL中有很多具有.Count属性的集合,但是没有实现IReadOnlyCollection接口。 UPD2 我发现这篇文章http://social.msdn.microsoft.com/Forums/en/netfxbcl/thread/b4fb991a-3f5c-4923-93d4-7cd5c004f859和Immo Landwerth的答案, 他已经说过以下 除了List 和Dictionary 之外的其他集合是否会更新以支持这些接口? 绝对。 实际上,我们所有的内置集合类型都已经实现了IReadOnlyList 和IReadOnlyDictionary 。 这意味着,您可以直接将List,T []或Dictionary 的实例传递给采用IReadOnly版本的API。

从htmldocument中删除html节点:HTMLAgilityPack

在我的代码中,我想删除没有src值的img标记。 我正在使用HTMLAgilitypack的HtmlDocument对象。 我发现img没有src值并试图删除它..但它给了我错误集合被修改; 枚举操作可能无法执行。 任何人都可以帮助我吗? 我使用的代码是: foreach (HtmlNode node in doc.DocumentNode.DescendantNodes()) { if (node.Name.ToLower() == “img”) { string src = node.Attributes[“src”].Value; if (string.IsNullOrEmpty(src)) { node.ParentNode.RemoveChild(node, false); } } else { ……….// i am performing other operations on document } }

C#,String的Split()方法

C#,String的Split()方法,如何将结果字符串[]放入ArrayList或Stack?

.NET SortedDictionary但按值排序

我需要一个像SortedDictionary一样的数据结构,但是它是根据值而不是键来排序的。 当我们在字典中有大约3000个项目时,我需要大约1-2微秒来添加和删除项目。 我的第一个想法是简单地在我的代码中切换键和值。 这几乎是有效的。 通过这样做,我可以在测试中添加和删除大约1.2微秒的元素。 但是密钥必须在SortedDictionary中是唯一的,这意味着我的逆字典中的值必须是唯一的。 在某些情况下,他们可能不会。 .NET库中的某些想法已经对我有用吗?