Tag: C#的

模板的朋友

我想要做以下事情: template <typename T> struct foo { template <typename S> friend struct foo<S>; private: // … }; 但我的编译器(VC8)扼杀它: error C3857: 'foo<T>': multiple template parameter lists are not allowed 我想所有的T所有可能的实例template struct foo朋友foo<T> 。 我该如何做这项工作? 编辑:这个 template <typename T> struct foo { template <typename> friend struct foo; private: // … }; 似乎编译,但它是正确的? 朋友和模板有非常不自然的语法。

如何创build自定义validation属性?

我想创build一个自定义的validation属性,我想在我的模型类中比较我的属性的值与另一个属性的值。 例如,我在我的模型类中: … public string SourceCity { get; set; } public string DestinationCity { get; set; } 而我想创build一个自定义属性来使用它,像这样: [Custom("SourceCity", ErrorMessage = "the source and destination should not be equal")] public string DestinationCity { get; set; } //this wil lcompare SourceCity with DestinationCity 我如何到那里?

主要function中的“WINAPI”是什么意思?

你可以向我解释WinMain()函数中的WINAPI单词吗? 最简单的方法 #include <windows.h> int –>WINAPI<– WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MessageBox(NULL, "Goodbye, cruel world!", "Note", MB_OK); return 0; } 这只是一些Windows时髦的模式? 它有什么作用? 或者说,我还没有遇到过这个C ++特性呢?

绑定到静态类属性

我想将文本块文本绑定到静态类的属性。 每当静态类的属性值改变时,它应该反映到另一个窗口或自定义控件上的文本块。

从C中的浮点数中提取小数部分

我们如何提取浮点数的小数部分,并将小数部分和整数部分存储到两个单独的整数variables中?

内联variables如何工作?

在2016年奥卢ISO C ++标准会议上,标准委员会将一项名为Inline Variables的提案投票给了C ++ 17。 通俗地说,什么是内联variables,它们是如何工作的,它们对于什么有用? 内联variables应该如何声明,定义和使用?

当没有结果返回时处理ExecuteScalar()

我正在使用以下SQL查询和ExecuteScalar()方法从Oracle数据库中获取数据: sql = "select username from usermst where userid=2" string getusername = command.ExecuteScalar(); 它向我显示了这个错误消息: System.NullReferenceException:未将对象引用设置为对象的实例 当userid=2的数据库表中没有行时,会发生此错误 我应该如何处理这种情况?

垃圾收集器和循环引用

考虑这两个类: public class A { B b; public A(B b) { this.b = b; } } public class B { A a; public B() { this.a = new A(this); } } 如果我有像上面这样devise的课程,垃圾收集员(GC)会收集这些课程的对象吗? 假设我这样做: void f() { B b = new B(); } 在这个方法中,我创build了一个名为b的B实例,当方法返回时, b超出范围,GC应该能够收集它,但是如果要收集它,则必须先收集第一个哪一个是B的成员,而要收集a ,则需要先收集b这个A的成员。 它变成圆形。 所以我的问题是:这样的循环引用是为了防止GC收集对象? 如果是,那么我们如何避免这个问题呢? 我们如何确保在课堂devise中没有循环引用? 是否有任何工具(或编译器选项)可以帮助我们检测循环引用? 如果不是,我们在哪里以及为什么使用WeakReference类? 它的目的是什么?

什么是数据的最大限制到列表<string>在C#中?

我可以将多less个值添加到列表中? 例如: List<string> Item = runtime data 数据的大小不固定。 可能是10000或者1000000以上。我已经使用谷歌search,但还没有find确切的答案。

删除C ++ 0x中的nullptr是否安全?

在c++03中很明显,删除空指针没有效果。 事实上,在§5.3.5/2中明确指出: 在任何一种情况下,如果delete的操作数的值是空指针,则操作不起作用。 但是,在目前的草案为c++0x这个句子似乎缺less。 在草稿的其余部分,我只能find句子,说明如果delete-expression的操作数不是空指针常量会发生什么情况。 是删除仍然在c++0x定义的空指针,如果是的话,在哪里? 笔记: 有明显的间接证据表明它仍然是明确的。 首先,在§5.3.5/2有两个句子说明 在第一个替代(删除对象)中,删除操作数的值可能是空指针值,… 和 在第二种select(删除数组)中,删除操作数的值可能是空指针值或… 这些说操作数被允许为空,但它们自己并不真正定义如果是的话会发生什么。 其次,改变delete 0的含义是一个重大的突破性改变,标准委员会将不太可能做出这个特殊的改变。 此外,在c++0x草案的兼容性附件(附件C)中没有提到这是一个突破性的变化。 然而,附件C是一个信息性的部分,所以这对标准没有任何解释。 另一方面,删除空指针需要不起作用意味着额外的运行时检查。 在许多代码中,操作数不能为空,所以这个运行时检查与零开销原则相冲突。 也许委员会只是决定改变行为,使标准的c + +更符合语言设定的目标。