小编Alb*_*bic的帖子

C#中的收益率是否是线程安全的?

我有以下代码:

private Dictionary<object, object> items = new Dictionary<object, object>;
public IEnumerable<object> Keys
{
    get
    {
        foreach (object key in items.Keys)
        {
            yield return key;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是线程安全的吗?如果不是我必须lock围绕循环或yield return

这就是我的意思:

KeysThread1 访问属性,而Thread2将一个项添加到基础字典.Thread1是否受Thread2的影响?

c# ienumerable yield yield-return

26
推荐指数
3
解决办法
8769
查看次数

如何在添加using指令时阻止ReSharper缩短名称空间?

当我使用ReSharper添加using指令(使用Alt + Enter)时,它会删除命名空间的"不必要"部分.我更喜欢使用完整的命名空间,这也是Visual Studio的行为.

例:

namespace MyCompany.MyTool.Data
{
    // This is what ReSharper gives me:
    using Core;

    // This is what I want:
    using MyCompany.MyTool.Core;

    // ...
}
Run Code Online (Sandbox Code Playgroud)

在ReSharper 4.5中我必须更改哪个设置才能使用完整的命名空间?

resharper using-directives resharper-4.5

10
推荐指数
1
解决办法
2070
查看次数