Tag: C#的

创build线程 – Task.Factory.StartNew vs new Thread()

我只是在.NET 4中学习新的线程和并行库 在过去,我会创build一个像这样的新线程(作为一个例子): DataInThread = new Thread(new ThreadStart(ThreadProcedure)); DataInThread.IsBackground = true; DataInThread.Start(); 现在我可以这样做: Task t = Task.Factory.StartNew(() => { ThreadProcedure(); }); 有什么区别? 谢谢

用C ++清理代码到printf size_t(或者:在C ++中最接近C99的%z)

我有一些打印size_t C ++代码: size_t a; printf("%lu", a); 我希望在32位和64位架构上编译时不会有任何警告。 如果这是C99,我可以使用printf("%z", a); 。 但是AFAICT %z不存在任何标准的C ++方言。 相反,我必须这样做 printf("%lu", (unsigned long) a); 这真的很丑。 如果没有内置的语言打印size_t的设施,我想知道是否可以编写一个printf包装器,或者是这样的,以便在size_t上插入适当的强制转换,从而消除虚假的编译器警告,同时保持良好的状态。 有任何想法吗? 编辑为了澄清为什么我使用printf:我有一个相对较大的代码库,我正在清理。 它使用printf包装来执行诸如“写入警告,将其logging到文件中,并可能退出错误代码”等。 我可能能够鼓起足够多的C ++ -foo来使用cout包装器来做到这一点,但是我宁愿不改变程序中的每一个warn()调用来摆脱一些编译器警告。

我如何把我的网格边框在WPF?

我如何把我的网格在C#/ WPF的边框? 这是我想要的,但是把整个事情放在边界上,而不是放在我的应用程序中的网格控件。 <Grid> <Border BorderBrush="Black" BorderThickness="2"> <Grid Height="166" HorizontalAlignment="Left" Margin="12,12,0,0" Name="grid1" VerticalAlignment="Top" Width="479" Background="#FFF2F2F2" /> </Border> … and so on …

我应该从std :: exceptioninheritance吗?

我已经看到至less有一个可靠的源代码(一个C ++类)推荐C ++中的特定于应用程序的exception类应该从std::exceptioninheritance。 我不清楚这种方法的好处。 在C#中,从ApplicationExceptioninheritance的原因是明确的:你得到了一些有用的方法,属性和构造函数,只需要添加或重写你所需要的。 用std::exception看来,你所得到的只是一个用来覆盖的what()方法,你可以创build自己的方法。 那么,使用std::exception作为特定于应用程序的exception类的基类有什么好处? 有没有什么好的理由不从std::exceptioninheritance?

在C ++中实现长方程时,如何通过高级方法提高性能?

我正在开发一些工程模拟。 这涉及到实施一些长方程,如这个方程来计算橡胶材料的应力: T = ( mu * ( pow(l1 * pow(l1 * l2 * l3, -0.1e1 / 0.3e1), a) * a * ( pow(l1 * l2 * l3, -0.1e1 / 0.3e1) – l1 * l2 * l3 * pow(l1 * l2 * l3, -0.4e1 / 0.3e1) / 0.3e1 ) * pow(l1 * l2 * l3, […]

main()方法在C中如何工作?

我知道有两个不同的签名来写主要的方法 – int main() { //Code } 或者处理命令行参数,我们把它写成 – int main(int argc, char * argv[]) { //code } 在C++我知道我们可以重载一个方法,但是在C中,编译器如何处理main函数的这两个不同的签名?

添加List <t> .add()另一个列表

我有一个IEnumerable<TravelDetails> ,我正在尝试将-loop中的值添加到List<TravelDetails> 。 我不断收到错误。 错误15参数1:无法从“System.Collections.Generic.List”转换为“TrafficCore.DataObjects.TripDetails”C:\ TrafficNew \ TI 511-Web \ Traffic 2.0 \ 511Traffic \ 511Traffic \ Models \ DrivingTime.cs 我的代码是 List<TripDetails> tripDetailsCollection = new List<TripDetails>(); foreach (DrivingTimeRoute dtr in dtRoutes) { foreach (Trip trip in dtr.Trips) { foreach (TripPathLink tpl in trip.TripPathLinks) { tplCollection.Add(tpl); } IEnumerable<TripDetails> tripDetails = //long Linq-to-Sql here List<TripDetails> td = […]

C ++枚举是签名还是未签名?

C ++枚举是签名还是未签名? 通过扩展来validation一个input是安全的,通过检查它是否是你的最大值,而忽略> =你的最小值(假设你从0开始,并加1)?

int值在10以下转换为string两位数字

string strI; for (int i = 1; i < 100; i++) strI = i.ToString(); 在这里,如果i = 1那么ToString产生"1" 但是我想得到"01"或"001" 它看起来很容易,但只有文章 datetime.ToString("yyyy-MM-dd")`

内联函数vs预处理器macros

内联函数与预处理器macros有什么不同?