Tag: C#的

在C#中使用if / else和switch-case之间有什么显着区别吗?

在C#中使用switch语句与if/else什么好处/不利之处。 我无法想象有什么大的差别,除了你的代码的外观。 是否有任何理由为什么生成的IL或相关的运行时性能会有根本的不同? 相关: 什么是更快,打开字符串或elseif的类型?

实体框架中一个关联的主体端在1:1关系中意味着什么

public class Foo { public string FooId{get;set;} public Boo Boo{get;set;} } public class Boo { public string BooId{get;set;} public Foo Foo{get;set;} } 当我遇到错误时,我试图在Entity Framework中做到这一点: 无法确定类型“ConsoleApplication5.Boo”和“ConsoleApplication5.Foo”之间关联的主要结尾。 此关联的主要目的必须使用关系流畅API或数据注释来显式配置。 我已经在StackOverflow上看到了有关此错误的解决方案的问题,但我想了解术语“主体端”的含义。

ProcessStartInfo挂在“WaitForExit”? 为什么?

我有以下代码: info = new System.Diagnostics.ProcessStartInfo("TheProgram.exe", String.Join(" ", args)); info.CreateNoWindow = true; info.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; info.RedirectStandardOutput = true; info.UseShellExecute = false; System.Diagnostics.Process p = System.Diagnostics.Process.Start(info); p.WaitForExit(); Console.WriteLine(p.StandardOutput.ReadToEnd()); //need the StandardOutput contents 我知道从我开始的过程的输出是大约7MB长。 在Windows控制台中运行它工作正常。 不幸的是,在编程上这无限期地挂在WaitForExit上。 还要注意这个代码不会挂起较小的输出(如3KB)。 ProcessStartInfo中的内部StandardOutput是否有可能无法缓冲7MB? 如果是这样,我该怎么做呢? 如果没有,我做错了什么?

“其他如果”比“switch()case”更快?

可能重复: 在C#中使用if / else和switch-case之间有什么显着区别吗? 我是一名前Pascal家伙,目前正在学习C#。 我的问题如下: 下面的代码比开关更快吗? int a = 5; if (a == 1) { …. } else if(a == 2) { …. } else if(a == 3) { …. } else if(a == 4) { …. } else …. 而开关: int a = 5; switch(a) { case 1: … break; case 2: … […]

如何使用WPF的后台工作

我是WPF的初学者,在我的应用程序中,我需要执行一系列的初始化步骤,这些需要7-8秒才能完成,在这个过程中,我的UI变得没有反应。 为了解决这个问题,我在一个单独的线程中执行初始化: public void Initialization() { Thread initThread = new Thread(new ThreadStart(InitializationThread)); initThread.Start(); } public void InitializationThread() { outputMessage("Initializing…"); //DO INITIALIZATION outputMessage("Initialization Complete"); } 我已经阅读了关于BackgroundWorker的一些文章,以及它如何让我保持我的应用程序响应,而不必写一个线程来执行冗长的任务,但我没有尝试实现它的任何成功,谁能告诉我如何使用BackgroundWorker做到这一点? 谢谢,Eamonn

达夫的设备如何工作?

我已经阅读了达夫设备上的维基百科文章 ,但我不明白。 我真的很感兴趣,但是我已经阅读了几次这个解释,但是我仍然不明白达夫的设备是如何工作的。 更详细的解释是什么?

#pragma包效果

我想知道是否有人可以向我解释#pragma pack预处理器语句做了什么,更重要的是,为什么要使用它。 我检查了MSDN页面 ,这提供了一些见解,但我希望听到有经验的人更多。 我之前在代码中看过,但似乎无法找到。

用LINQ保持秩序

我在有序数组上使用LINQ to Objects指令。 我不应该做哪些操作来确保数组的顺序没有改变?

在C#中从枚举中获取int值

我有一个叫做Questions (复数)的课。 在这个类中有一个名为Question (单数)的枚举,看起来像这样。 public enum Question { Role = 2, ProjectFunding = 3, TotalEmployee = 4, NumberOfServers = 5, TopBusinessConcern = 6 } 在Questions类中我有一个get(int foo)函数,该函数返回该foo一个Questions对象。 有一个简单的方法来从整数值关闭枚举,所以我可以做这样的Questions.Get(Question.Role) ?

如何开始开发Internet Explorer扩展?

有没有人在这里有开发IE扩展的经验,可以分享他们的知识? 这将包括代码示例,或链接到好的,或有关进程的文档,或任何东西。 我真的想这样做,但是我正在用一个糟糕的文档,糟糕的代码/示例代码/缺乏的巨大墙壁。 任何帮助/资源,你可以提供将不胜感激。 具体来说,我想开始如何访问/操纵在IE扩展内的DOM。 编辑,甚至更多的细节: 理想情况下,我想种植一个工具栏按钮,点击后,弹出一个菜单,其中包含指向外部网站的链接。 我也想访问DOM并根据一些条件在页面上植入JavaScript。 在IE扩展中保存信息的最佳方法是什么? 在Firefox / Chrome /大多数现代浏览器中,您使用window.localStorage ,但显然与IE8 / IE7,这不是一个选项。 也许一个SQLite数据库或这样的? 假设.NET 4.0将安装在用户的计算机上是可以的。 我不想使用Spice IE,因为我想创建一个与IE9兼容的IE。 我也为这个问题添加了C ++标记,因为如果在C ++中构建一个更好,我可以这样做。