我有以下代码:
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
?
这就是我的意思:
Keys
Thread1 访问属性,而Thread2将一个项添加到基础字典.Thread1是否受Thread2的影响?
当我使用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中我必须更改哪个设置才能使用完整的命名空间?