我几乎不使用"yield"运算符(我不讨厌它:)).如果有可能,我更喜欢使用LINQ.无论如何,我寻找一些帖子(你可以在下面找到链接)10分钟前,阅读它和一些想法访问我的大脑:)
想法:可能,我不使用"收益率"并不是很好.可能它具有比LINQ更好的性能或其他一些优势.
因此,我有下一个问题,上面的例子(通常情况下)哪些代码更"正确"(yield或LINQ)?
PS我对有可能使用LINQ而不是"yield"的情况感兴趣.
我想得到Item对象的集合或列表,但我现在得到数组的数组.
Item[][] s = employees.Select(e => e.Orders.Select(o => new Item(e.ID, o.ID)).ToArray()).ToArray();
Run Code Online (Sandbox Code Playgroud)
任何人都可以选择我的解决方案吗?
PS只是LinQ解决方案:)
我想问一个(对我而言)感兴趣的问题。
如果集合包含大量项目(超过 100 万个),则根据标准性能,哪个集合是最佳的。
例如,我创建简单的 List(10000000) 集合并尝试添加大约 500000 个不同的项目。运行后 10 秒内将添加前 30000 个项目,但运行后 1 分钟内收集将仅包含 60000 个项目,5 分钟内将包含 150000 个项目。
据我了解,通过添加新项目,集合中的内存使用存在非线性依赖性(因为每个项目都是在“相似相等”的时间段内创建的)。但我可能会犯错误。
编辑:你是对的,没有样本还不够清楚。我正在尝试将树填充为连接列表。您可以在下面找到示例代码。
public class Matrix
{
public int Id { get; private set; }
public byte[,] Items { get; private set; }
public int ParentId { get; private set; }
public int Lvl { get; private set; }
public int HorizontalCounts
{
get { return 3; }
}
public int VerticalCounts
{
get { return 3; }
}
public Matrix(int …Run Code Online (Sandbox Code Playgroud)