小编San*_*anD的帖子

如何在C#中将数据复制到剪贴板

如何将字符串(例如"hello")复制到C#中的系统剪贴板,所以下次按下CTRL+V我会得到"你好"?

c# clipboard

409
推荐指数
5
解决办法
33万
查看次数

如何在VS2015中启用大内存快照的处理

我试图分析我的内存密集型应用程序,以找到减少其内存消耗的方法.现在它使用高达2.5GB的内存(带有/ largeaddressaware标志的32位C#应用程序).使用VS2015诊断工具我可以很好地获取内存快照,但是当我尝试查看其详细信息时,我一直收到以下错误:

An error occurred while processing the snapshot: Failed to process managed heap

我试图用/ largeaddressaware标志修补devenv.exe,但它似乎没有帮助.有什么方法可以解决这个问题吗?

.net profiling out-of-memory visual-studio-2015

9
推荐指数
0
解决办法
899
查看次数

是否可以在 C# 中获取对字典项的引用?

我正在对一个被调用数亿次的函数实现缓存。缓存大小为数千万个项目。目前它是使用 a 实现的Dictionary,并且其中的查找需要花费大量时间。

是否可以获取对整个对的引用Dictionary,而不仅仅是值,这样我就可以检查一个值是否存在,如果它确实使用单个查找,则检查它(并且可能更新它)?

目前,我有这样的事情:

int val;
if (cache.TryGetValue(key, out val))
    if (val < newVal) cache[key] = newVal;
    else return val;
else
    cache.Add(key, newVal);
Run Code Online (Sandbox Code Playgroud)

我想得到这个:

Pair pair = cache.GetPair(key);
if (pair != null)
    if (pair.Value < newVal) pair.Value = newVal;
    else return pair.Value;
else
    cache.Add(key, newVal);
Run Code Online (Sandbox Code Playgroud)

如果有一种替代的数据结构允许这样做,我也很高兴听到它。

提前致谢!

c# dictionary

3
推荐指数
1
解决办法
1251
查看次数