Tag: C#的

C ++常量映射元素访问

我尝试使用operator []访问const C ++映射中的元素,但此方法失败。 我也试图用“at()”来做同样的事情。 它这次工作。 但是,我找不到有关使用“at()”访问const C ++映射中的元素的任何参考。 “()”是C ++ map中新增的函数吗? 我在哪里可以find更多关于这个的信息? 非常感谢你! 一个例子可能如下: #include <iostream> #include <map> using namespace std; int main() { map<int, char> A; A[1] = 'b'; A[3] = 'c'; const map<int, char> B = A; cout << B.at(3) << endl; // it works cout << B[3] << endl; // it […]

在C#中等效的块?

我知道VB.Net,并试图刷新我的C#。 在C#中有一个等同的块吗? 谢谢

.dll,.lib,.h文件有什么区别?

为什么在一个项目中应该包含一些* .lib,.h或其他文件? 这些东西用于什么?

LRUcachingdevise

最近最less使用(LRU)caching是放弃最近最less使用的项目首先如何devise和实现这样的caching类? devise要求如下: 1)尽可能快地find物品 2)一旦caching未命中并且caching已满,我们需要尽快replace最近最less使用的项目。 如何从devise模式和algorithmdevise的angular度分析和实现这个问题?

重载“==”得到你'!='?

如果我手动重载一个结构==运算符,我是否免费获得!=运算符(大概定义为布尔相反),还是我不得不手动重载它(即使只是return !(this == rhs) ? 编辑 – 问题不在于我是否可以重载这两个运算符,而是如果我已经重载了相等运算符,是否必须重载不等式。 无论如何,已经给出了很好的答案。

在C ++ 11基于范围的for循环中查找元素的位置?

假设我有以下代码: vector<int> list; for(auto& elem:list) { int i = elem; } 我可以在vector中findelem的位置,而不需要维护一个单独的迭代器吗?

recursionlambdaexpression式遍历C#中的一棵树

有人可以告诉我如何实现recursionlambdaexpression式来遍历C#中的树结构。

System.ValueTuple和System.Tuple有什么区别?

我反编译了一些C#7库,并使用了ValueTuplegenerics。 什么是ValueTuples ,为什么不是Tuple呢?

在文件path中使用环境variables

我有一个环境variables集指向一个特定的文件夹(例如,称为MYFOLDER)。 当input%MYFOLDER%\SubFolder到Windows资源pipe理器时,子文件夹出现。 但是,当我通过SelectedPath = @"%MYFOLDER%\SubFolder"; 到一个FolderBrowserDialog ,它不起作用。 我尝试使用Path.GetFullPath(..) ,但似乎返回可执行文件的bin文件夹(在VS中debugging时)与%MYFOLDER%结束,而不是我所期望的path。 任何人都知道如何正确使用环境variables?

为什么在抛出StackOverflowException时,.NET的行为如此糟糕?

我知道在.NET中的StackOverflowExceptions不能被捕获,取消他们的进程,并没有堆栈跟踪。 这在MSDN上正式logging。 不过,我想知道行为背后的技术(或其他)原因。 所有MSDN说是: 在以前版本的.NET Framework中,您的应用程序可能会捕获一个StackOverflowException对象(例如,从无限recursion中恢复)。 然而,这种做法目前是不鼓励的,因为需要大量额外的代码才能可靠地捕获堆栈溢出exception并继续执行程序。 这个“重要的附加代码”是什么? 这种行为是否有其他logging的原因? 即使我们不能抓住国有企业,为什么我们至less得不到一个堆栈跟踪呢? 几个同事,我只是沉没了几个小时,debugging生产StackOverflowException,这将需要几分钟的堆栈跟踪,所以我想知道是否有一个很好的理由,我的痛苦。