Tag: toarray

使用ToArray()将列表转换为数组

我创建了一个名为listItem的类和以下列表: List myList = new List(); 在我的代码中的某个时刻,我想将其转换为数组,从而使用: listItem[] myArray = myList.ToArray(); 不幸的是,这不起作用,我收到此错误消息: Cannot convert […] listItem[] to […] List 我试图解决这个问题,但非常失败…… 提前致谢。 编辑:我的坏,我写的第一个代码行确实是错误的! 实际上,上面的所有代码都运行良好。 我的错误是由于我的function: List myFunction() 返回myArray,因此转换问题……现在已经修复了。 🙂 谢谢大家的答案。

锁定与ToArray的线程安全foreach访问List集合

我有一个List集合,我想在multithreading应用程序中迭代它。 我需要在每次迭代时保护它,因为它可以被更改,而且当我做foreach时我不想要“收集被修改”的exception。 这样做的正确方法是什么? 每次访问或循环时都使用锁定。 我对死锁感到十分害怕。 也许我只是偏执使用锁而不应该。 如果我走这条路以避免死锁,我需要知道什么? 锁是否相当有效? 每次我做foreach时,使用List 。ToArray()复制到数组。 这会导致性能下降,但很容易做到。 我担心内存颠簸以及复制它的时间。 看起来过分了。 使用ToArray是否安全? 不要使用foreach而是使用for循环。 每次我这样做以确保列表没有收缩时,我不需要进行长度检查吗? 这看起来很烦人。