Tag: .net

如何在Windows和IANA时区之间进行翻译?

如时区标记wiki中所述 ,有两种不同的时区样式。 由Microsoft提供的用于Windows和.Net TimeZoneInfo类的值由诸如Eastern Standard Time类的值标识。 IANA在TZDB中提供的数据通过诸如America/New_York的值来确定。 许多基于互联网的API使用IANA时区,但出于多种原因,可能需要将其转换为Windows时区ID,反之亦然。 这怎么能在.Net中完成呢?

C#应用程序中的全局键盘捕获

我想要捕捉我的应用程序中的键盘快捷方式,并触发一个对话框,如果用户在应用程序外按下键盘组合键也会出现。 与Google桌面搜索的Ctrl,Ctrl类似,显示搜索对话框。 我已经尝试过使用一些键盘钩子模块,基本上使用Win32 interop来获得这种效果,但是我试过的每个实现都会将键盘绑定到某种程度,以至于在应用程序正在进行一些密集操作时,会出现怪异的行为。 如加载大量的数据,这将导致键盘和鼠标锁定。 我正在寻找一个轻量级的解决方案,这将允许这样做,而不用捆绑键盘和鼠标。

如何在C#中模拟鼠标点击?

如何在C#中模拟鼠标点击?

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

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

.NET混淆工具/策略

我的产品有几个组件:ASP.NET,Windows Forms App和Windows Service。 95%左右的代码是用VB.NET编写的。 出于知识产权的原因,我需要混淆代码,直到现在我已经使用了一个现在已经超过5年的dotfuscator版本。 我认为是时候转移到新一代的工具。 我正在寻找的是我在搜索新混淆器时应该考虑的一系列要求。 我知道我应该寻找到目前为止: 序列化/反序列化 。 在我目前的解决方案中,我只是告诉工具不要混淆任何类数据成员,因为不能加载以前序列化数据的痛苦太大了。 与构建过程整合 使用ASP.NET 。 在过去,我发现这个问题是由于.dll名称的改变(你通常每页都有一个) – 并不是所有的工具都处理得很好。

实体框架与LINQ to SQL

现在,.NET v3.5 SP1已经发布(与VS2008 SP1一起),现在我们可以访问.NET实体框架。 我的问题是这个。 当试图在使用实体框架和LINQ to SQL作为ORM之间做出决定时,有什么区别? 我理解它的方式,实体框架(当与LINQ to Entities一起使用时)是LINQ to SQL的“大哥”? 如果是这样的话 – 它有什么优势? LINQ to SQL不能自己做什么呢?

一次捕获多个异常?

只是简单地捕获System.Exception就不鼓励了。 相反,只有“已知的”例外应该被捕获。 现在,这有时会导致不必要的重复代码,例如: try { WebId = new Guid(queryString["web"]); } catch (FormatException) { WebId = Guid.Empty; } catch (OverflowException) { WebId = Guid.Empty; } 我想知道:是否有一种方法来捕获这两个异常,只调用WebId = Guid.Empty调用一次? 给出的例子很简单,因为它只是一个GUID 。 但想象一下代码在多次修改对象的位置,如果其中一个操作以预期的方式失败,则需要“重置”该object 。 但是,如果出现意想不到的例外情况,我还是要把这个提高一些。

为什么编译错误“使用未分配的本地变量”?

我的代码如下 int tmpCnt; if (name == "Dude") tmpCnt++; 为什么会出现错误Use of unassigned local variable tmpCnt ? 我知道我没有明确地初始化它,但由于默认值表的值类型初始化0反正。 这个参考文件还提醒我: 请记住,在C#中使用未初始化的变量是不允许的。 但是为什么我必须明确地做,如果它已经默认完成? 如果我不这样做,它会不会得到表现? 就是想…

什么是.NET进程间通信的最佳选择?

我应该使用命名管道还是.NET Remoting与我的机器上的正在运行的进程进行通信?

“对象引用没有设置为对象的实例”是什么意思?

我收到这个错误,我不确定这是什么意思? 你调用的对象是空的。