Tag: C#的

何时需要使用flag -stdlib = libstdc ++?

什么时候需要使用gcc编译时使用flag -stdlib=libstdc++作为编译器和链接器? 编译器是否自动使用libstdc ++? 我在Ubuntu 13.10上使用gcc4.8.2,我想使用c ++ 11标准。 我已经将-std=c++11传递给编译器。

为什么strcmp不是SIMD优化的?

我试图在x64电脑上编译这个程序: #include <cstring> int main(int argc, char* argv[]) { return ::std::strcmp(argv[0], "really really really really really really really really really" "really really really really really really really really really" "really really really really really really really really really" "really really really really really really really really really" "really really really really really really really really […]

DropDownList AppendDataBoundItems(第一项空白,不重复)

我有一个DropDownList内的UpdatePanel从SqlDataSource回发填充。 它有一个参数是另一个控件。 我有时需要多个回发,但会发生什么情况是每次更新面板刷新时,项目都被添加到DropDownList 。 所以DropDownList结束了不正确的数据或重复的数据。 我将AppendDataBoundItems属性设置为true因为我需要第一个项目为空。 我怎样才能克服这个问题? 有没有另一种方法有一个空白的第一个项目? (这DropDownList是在一个asp.net-2.0的networking应用程序,而codebehind是在C#) 谢谢。

在C#中转发事件

我正在使用一个在C#中转发事件的类。 我想知道是否有这样做的方式,需要较less的代码开销。 这是我迄今为止的一个例子。 class A { public event EventType EventA; } class B { A m_A = new A(); public event EventType EventB; public B() { m_A.EventA += OnEventA; } public void OnEventA() { if( EventB ) { EventB(); } } } A级提出了原始事件。 B类转发它作为EventB(本质上是相同的事件)。 A类对其他模块是隐藏的,所以他们不能直接订阅EventA。 我想要做的是减less类B中用于转发事件的代码开销,因为通常在类B中没有实际处理事件。另外,我将有几个不同的事件,因此需要编写大量的OnEvent ()方法只能用于转发事件。 是否有可能以某种方式自动链接EventA到EventB,所以我有这样的事情: class B { A m_A = new […]

是否有一个属性,我可以在我的课中使用,告诉DataGridView不要创build一个列时绑定到List <MyClass>

我有这样的一个class级: private class MyClass { [DisplayName("Foo/Bar")] public string FooBar { get; private set; } public string Baz { get; private set; } public bool Enabled; } 当我创build一个List<MyClass>并将其分配给DataGridView的DataSource时,网格会显示两列“Foo / Bar”和“Baz”。 这就是我想要发生的事情。 它目前的作品,因为Enabled是一个字段,而不是一个属性 – DataGridView将只会select属性。 但是,这是一个肮脏的黑客。 我想使启用一个属性,但仍然隐藏在DataGridView。 我知道我可以手动删除绑定后的列..但是这并不理想。 是否有一个类似于DisplayName的属性,我可以标记一个属性? 像[Visible(false)] ?

如何从boost :: shared_ptr释放指针?

boost :: shared_ptr可以释放存储的指针而不删除它吗? 我可以看到文档中不存在发布函数,在常见问题中解释了为什么它不提供发布函数,就像发布不能在不唯一的指针上发布一样。 我的指针是独一无二的。 我怎样才能释放我的指针? 或者哪个提高智能指针类使用,将允许我释放指针? 我希望你不会说使用auto_ptr 🙂

追加设置到另一个集合

有没有更好的方法来追加一套到另一套比遍历每个元素? 我有 : set<string> foo ; set<string> bar ; ….. for (set<string>::const_iterator p = foo.begin( );p != foo.end( ); ++p) bar.insert(*p); 有没有更有效的方法来做到这一点?

C ++删除语法

我遇到了这种相当不寻常的使用“删除”。 只是想知道下面的行是删除这两个指针还是只删除了第一个? delete ptr1, ptr2

结构中的匿名联合不在c99中?

这里是非常简化的问题我有: enum node_type { t_int,t_double }; struct int_node { int值; }; struct double_node { 双重价值; }; struct node { 枚举node_typetypes; 联合{ struct int_node int_n; struct double_node double_n; }; }; int main(void){ struct int_node i; i.value = 10; struct node n; n.type = t_int; ñ。 int_n = i; 返回0; } 我不明白的是: $ cc us.c $ cc […]

非generics类中的generics构造函数是否受支持?

不支持,是否支持,但我必须做一些技巧? 例: class Foo { public Foo<T1,T2>(Func<T1,T2> f1,Func<T2,T1> f2) { … } } generics只用于构造函数,没有依赖于它们的字段/属性,我使用它(generics)来强制执行f1和f2的types关联。 备注 :我find了解决方法 – 静态方法创build,但无论如何,我很好奇,为什么我有直接的方法的问题。