小编lig*_*gaz的帖子

WPF中的路由事件是否较弱

WPF中的路由事件是否存储对附加到它们的处理程序的强引用?

wpf routedevent

6
推荐指数
1
解决办法
1224
查看次数

数组或迭代器 - 对于返回一个/两个元素的调用具有更好的性能特征(内存方面)

想象一下,我们有以下方法(伪C#):

static IEnumerable<T> Iterator<T>()
{
    switch (SomeCondition)
    {
        case CaseA:
            yield return default(T);
        case CaseB:
            yield return default(T);
            yield return default(T);
        case CaseC:
            yield return default(T);
        default:
            break;
    }
}

static IEnumerable<T> Array<T>()
{
    switch (SomeCondition)
    {
        case CaseA:
            return new[] { default(T) };
        case CaseB:
            return new[] { default(T), default(T) };
        case CaseC:
            return new[] { default(T) };
        default:
            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我们有很多类似这种方法的调用,那么哪一个会消耗更少的内存(以及更少的GC周期)?为了实现这种Enumerable.Once()场景,编写自己的Enumerable/Enumerator是否有意义?

.net c# garbage-collection

5
推荐指数
1
解决办法
445
查看次数

标签 统计

.net ×1

c# ×1

garbage-collection ×1

routedevent ×1

wpf ×1