Tag: C#的

C#(.NET)devise瑕疵

C#或.NET Framework中最大的devise缺陷是什么? 例如:没有不可为空的stringtypes,并且从IDataReader获取值时必须检查DBNull。

这个人是如何用Microsoft Paint编写“Hello World”的?

我刚才在这几天看到了这个,不知道它是如何工作的。 我讲的video在这里 : 这是来自这个堆栈溢出问题的最高评价答案 : 为什么这个程序被三个编译器拒绝? 这个位图如何能够显示“Hello World”的C ++程序?

Visual Studio中大型解决scheme的最佳实践(2008)

我们有大约100多个项目的解决scheme,其中大多数是C#。 当然,开放和build设需要很长时间,所以我正在寻找这样的野兽的最佳实践。 沿着我希望得到答案的问题,是: 你如何最好地处理项目之间的参考 应该“复制本地”打开还是closures? 应该每个项目build立到自己的文件夹,或者他们都build立到相同的输出文件夹(他们都是同一个应用程序的一部分) 解决scheme的文件夹是组织东西的好方法吗? 我知道把解决scheme分解成多个更小的解决scheme是一种select,但是它有自己的一套重构和构build头痛,所以也许我们可以把它保存为一个单独的线程:-)

std :: result_of和decltype之间的区别

我在理解C ++ 0x中std::result_of的需求时遇到了一些麻烦。 如果我理解正确, result_of用于获取调用具有某些types参数的函数对象的结果types。 例如: template <typename F, typename Arg> typename std::result_of<F(Arg)>::type invoke(F f, Arg a) { return f(a); } 我真的没有看到与以下代码的区别: template <typename F, typename Arg> auto invoke(F f, Arg a) -> decltype(f(a)) //uses the f parameter { return f(a); } 要么 template <typename F, typename Arg> auto invoke(F f, Arg a) -> decltype(F()(a)); […]

似乎实际上是无限的'for'循环

我正在debugging一些代码,我碰到这一行: for (std::size_t j = M; j <= M; –j) (由我的老板写的,正在休假) 我看起来很奇怪 它有什么作用? 对我来说,它看起来像一个无限循环。

我怎样才能让一个WPFcombobox有XAML中最宽的元素的宽度?

我知道如何在代码中做到这一点,但是这可以在XAML中完成吗? Window1.xaml: <Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="300" Width="300"> <Grid> <ComboBox Name="ComboBox1" HorizontalAlignment="Left" VerticalAlignment="Top"> <ComboBoxItem>ComboBoxItem1</ComboBoxItem> <ComboBoxItem>ComboBoxItem2</ComboBoxItem> </ComboBox> </Grid> </Window> Window1.xaml.cs: using System.Windows; using System.Windows.Controls; namespace WpfApplication1 { public partial class Window1 : Window { public Window1() { InitializeComponent(); double width = 0; foreach (ComboBoxItem item in ComboBox1.Items) { item.Measure(new Size( double.PositiveInfinity, double.PositiveInfinity)); if (item.DesiredSize.Width > […]

Qt 5.1.1:应用程序无法启动,因为平台插件“窗口”丢失

编辑:有些人开始把我的问题标记为重复。 不要忘记,当我问到这个问题时,存在许多类似的问题(参见下面的列表)。 但是, 这些答案都没有解决我的问题 。 经过长时间的search,我发现一个被所有用户指向缺less的lib忽略的注释 。 现在,许多个月后,评论已被改为一个答案。 但是,当我自己回答这个问题时,我打算直接提供解决scheme来帮助别人。 这不应该被遗忘,到目前为止,我的回答帮助了很多人。 所以我的问题绝对不是重复的。 顺便说一句:在顶部提供的链接内接受的答案并不能解决问题 ! 是的,我使用了search: 无法加载平台插件“窗口”。 可用的平台是:错误 从Visual Studio qwindows.dll错误部署Qt C ++应用程序 未能加载平台插件“窗口”可用的平台是:Windows,最小 但是,在我的情况下,问题仍然存在。 我在Visual Studio 2012中使用Qt 5.1.1,并使用Qt Creator 2.8.1在Windows 7上开发了我的应用程序。 应用程序以“Release”模式编译,如果直接使用Qt Creator启动,则可以执行。 但是,从“释放” – 文件夹开始,我得到以下消息: 此应用程序无法启动,因为它无法find或加载Qt平台插件“窗口”。 可用的平台插件是:最小化,屏幕外,窗口。 文件夹结构如下所示: release + gui.exe + icudt51.dll + icuin51.dll + icuuc51.dll + libGLESv2.dll + Qt5Core.dll + Qt5Gui.dll + Qt5Widgets.dll […]

packaged_task和async之间有什么区别?

在使用C ++ 11的线程模型时,我注意到了这一点 std::packaged_task<int(int,int)> task([](int a, int b) { return a + b; }); auto f = task.get_future(); task(2,3); std::cout << f.get() << '\n'; 和 auto f = std::async(std::launch::async, [](int a, int b) { return a + b; }, 2, 3); std::cout << f.get() << '\n'; 似乎做了完全一样的事情。 我明白,如果我用std::launch::deferred运行std::async ,但是在这种情况下有一个主要区别吗? 这两种方法有什么区别,更重要的是,我应该在哪些用例上使用它们呢?

用g ++编译multithreading代码

我有最简单的代码: #include <iostream> #include <thread> void worker() { std::cout << "another thread"; } int main() { std::thread t(worker); std::cout << "main thread" << std::endl; t.join(); return 0; } 尽pipe我仍然不能用g++编译运行。 更多细节: $ g++ –version g++ (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1 Copyright (C) 2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There […]

C#generics“哪里约束”与“任何genericstypes”的定义?

我举个例子: 我有一些通用的类/接口定义: interface IGenericCar< T > {…} 我有另一个类/接口,我想与上面的类,例如: interface IGarrage< TCar > : where TCar: IGenericCar< (**any type here**) > {…} 基本上,我希望我的genericsIGarrage依赖于IGenericCar ,无论它是IGenericCar<int>还是IGenericCar<System.Color> ,因为我没有任何依赖types。