Tag: C#的

关于Task.Start()的使用,Task.Run()和Task.Factory.StartNew()

我刚刚看到了三个关于TPL使用的例程,它们做的是同样的工作 这里是代码 public static void Main() { Thread.CurrentThread.Name = "Main"; // Create a task and supply a user delegate by using a lambda expression. Task taskA = new Task( () => Console.WriteLine("Hello from taskA.")); // Start the task. taskA.Start(); // Output a message from the calling thread. Console.WriteLine("Hello from thread '{0}'.", Thread.CurrentThread.Name); taskA.Wait(); } public […]

用%p打印空指针是未定义的行为?

使用%p转换说明符打印空指针是未定义的行为吗? #include <stdio.h> int main(void) { void *p = NULL; printf("%p", p); return 0; } 这个问题适用于C标准,而不适用于C实现。

什么更有效率? 使用pow来平方或只是乘以它自己?

这两种方法在C中更有效率? 以及如何: pow(x,3) 与 x*x*x // etc?

string.ToLower()和string.ToLowerInvariant()

有什么区别和什么时候使用什么? 如果我总是使用ToLower(),那么风险是什么?如果我总是使用ToLowerInvariant(),那有什么风险?

连接两个string文字

我对编程非常陌生,正在阅读Koenig的Accelerated C ++。 无论如何,我正在学习string,他写道:“新的想法是,我们可以使用+连接一个string和一个string – 或者,对于这个问题,两个string(但不是两个string)。 好吧,我想这是有道理的。 现在到两个单独的练习,旨在阐明这一点。 以下定义是否有效? const string hello = "Hello"; const string message = hello + ",world" + "!"; 现在,我试图执行上述,它的工作! 所以我很高兴。 然后我试着做下一个练习; const string exclam = "!"; const string message = "Hello" + ",world" + exclam; 这没有奏效。 现在我明白了这个事实,你不能连接两个string文字,但我不明白为什么我设法得到第一个例子工作(不是“,世界”和“! “两个string?不应该这个没有工作吗?),但不是第二个。 谢谢!

在c ++ map中插入vs emplace vs operator

我第一次使用地图,我意识到有很多方法来插入一个元素。 您可以使用emplace() , operator[]或insert() ,以及使用value_type或make_pair等变体。 虽然关于所有这些问题以及关于特殊情况的问题都有很多信息,但是我仍然不能理解这个大局。 所以,我的两个问题是: 他们每个人的优点是什么? 有没有必要为标准添加emplace? 没有它之前有什么是不可能的吗?

C / C ++结构与类

完成我的C ++类之后,在我看来,结构体/类几乎是相同的,除了一些细微的差别。 我以前从来没有用C编写过; 但我知道它有结构。 在C中是否可以inheritance其他结构并设置公有/私有的修饰符? 如果你可以在常规的C中做到这一点,为什么在世界上我们需要C ++吗? 什么使类与结构不同?

如何检索LoaderException属性?

更新服务参考时收到错误消息: 自定义工具警告:无法加载一个或多个请求的types。 检索LoaderExceptions属性以获取更多信息。 我如何检索LoaderException属性? 更新:当我重新导入域对象项目时,我的错误消失了。 我不知道为什么这个问题解决了,但我很高兴它的工作。

服务器违反了协议。 Section = ResponseStatusLine错误

我创build了一个程序,试图在网站上发布一个string,我得到这个错误: “服务器提交协议违规。Section = ResponseStatusLine” 这行代码之后: gResponse = (HttpWebResponse)gRequest.GetResponse(); 我如何解决这个exception?

我如何查看由C#编译器生成的MSIL / CIL? 为什么叫组装?

我是.NET C#编程的新手。 我正在跟着几本书。 有人说,而不是直接编译为二进制代码(本机代码)。 高级代码被转换成中间语言(称为MSIL又名CIL)。 但是当我编译时,我得到一个exe / Dll文件。 这个MSIL / CIL包含在这些EXE / DLL文件? 我想看看中间语言代码。 只是为了感受它的存在。 如何查看? 他们正在调用这个exe / dll文件一个assembly 。 他们是否使用这个“花哨的词”只是为了区分这些从包含二进制代码(本地代码)的exe / dll文件?