Tag: 集合

ArrayList有什么问题?

最近我问了一个关于SO的问题,提到了c#ArrayList可能用于解决方案。 有人评论说使用arraylist是不好的。 我想更多关于这一点。 我之前从未听过关于arraylists的陈述。 sombody让我快速了解使用arraylists可能出现的性能问题 C#。 达网络-2-

WPF / C中的线程和集合修改#

我正在开发一个C#/ WPF系统,它访问一个SQL数据库,检索一些数据(大约10000个项目),然后应该更新一个数据点集合,用作我在我的应用程序中使用的WPF图表的数据(Visifire图表解决方案,万一有人想知道)。 当我编写直接的单线程解决方案时,系统会像您预期的那样挂起应用程序查询数据库,检索数据和呈现图表所花费的时间。 但是,我想通过在使用multithreading获取和处理数据时向用户添加等待动画来更快地完成此任务。 但是,出现了两个问题: 在使用multithreading时,我无法更新我的集合并使它们保持同步。 我对Dispatcher课程不太熟悉,所以我不太清楚该怎么做。 由于我显然没有很好地处理multithreading,因此等待动画不会显示(因为UI被冻结)。 我想弄清楚是否有一种很好的方法可以有效地使用multithreading进行收集。 我发现微软有线程安全的collections,但似乎没有一个符合我的需求。 此外,如果有人有一个很好的参考来学习和理解Dispatcher我会非常感激。 编辑:这是我正在尝试做的代码片段,也许它可以解释我的问题: private List InitializeDataSeries(RecentlyPrintedItemViewModel item) { var localDataPoints = new List(); // Stopping condition for recursion – if we’ve hit a childless (roll) item if (item.Children.Count == 0) { // Populate DataPoints and return it as one DataSeries _dataPoints.AddRange(InitializeDataPoints(item)); } else { // Iterate […]

哪个更好用数组或List ?

我想知道哪种类型会有更好的性能以及您认为应该使用哪种类型。 例如,我有一个字符串列表,不知道我需要多少项,因此.Add(String)函数非常方便。 我可以随时轻松地将新字符串添加到列表中。 使用每个的优点/缺点是什么? 列出新arrays?

获取.NET中当前活动的托管线程列表?

对于“支持日志信息”类型的函数,我想枚举并转储活动的线程信息。 我很清楚竞争条件可能会使这些信息半不准确,但我想尝试获得最佳结果,即使它不是100%准确。 我查看了Process.Threads,但是它返回了ProcessThread对象,我想要一个Thread对象的集合,这样我就可以记录它们的名字,以及它们是否是后台线程。 是否有这样的集合可用,即使它只是我调用它时活动线程的快照? 即。 Thread[] activeThreads = ?? 注意,要说清楚,我不是在询问Process.Threads,这个集合给了我很多,但并不是我想要的全部。 我想知道我们的应用程序当前正在使用多少时间特定的命名线程(这意味着我将不得不考虑稍后连接两种类型的对象,但名称比开始时的CPU时间更重要。)