Tag: C#的

如何比较可空types?

我有几个地方,我需要比较2(空)值,看看他们是否是相同的。 我觉得在框架中应该有一些东西来支持这个,但是找不到任何东西,所以应该有以下几点: public static bool IsDifferentTo(this bool? x, bool? y) { return (x.HasValue != y.HasValue) ? true : x.HasValue && x.Value != y.Value; } 然后,在代码中我有if (x.IsDifferentTo(y)) … 然后我有类似的方法可为空,可空双打等 有没有更简单的方法来查看两个可空types是否相同? 更新: 原来这个方法存在的原因是因为代码已经从VB.Net转换,其中Nothing = Nothing返回false(比较C#,其中null == null返回true)。 VB.Net代码应该使用.Equals…来代替。

在asp.net-mvc中如何连接Application_BeginRequest()

我从asp.net-mvc项目中看到global.aspx.cs protected void Application_BeginRequest() { } 但是当我尝试将此添加到我的项目,我不明白是什么调用此方法。 我看到基地System.Web.HttpApplication有这个事件,但我没有看到任何重写或订阅此事件。 有人可以解释如何连接在asp.net-mvc的Application_BeginRequest?

错误:未find具有不变名称“System.Data.SqlClient”的ADO.NET提供程序的entity framework提供程序

我最近升级/更新了旧的项目中的entity framework从版本4或5到版本6.现在我得到这个exception: 在EntityFramework.dll中发生types“System.InvalidOperationException”的exception,但未在用户代码中处理 附加信息:找不到具有不变名称“System.Data.SqlClient”的ADO.NET提供程序的entity framework提供程序。 确保提供程序在应用程序configuration文件的“entityFramework”部分中注册。 有关更多信息,请参阅http://go.microsoft.com/fwlink/?LinkId=260882 。 我GOOGLE了错误,并遇到了几个SO线程,但没有包含一个解决scheme,为我工作。 这就是我的App.config的样子: <?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <!– For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 –> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </configSections> <entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> <providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> </providers> </entityFramework> </configuration> 我已经从我的项目中卸载了entity framework,并重新安装它,删除所有对旧EF文件的引用,并重新安装,但没有为我工作。 我不断收到这个错误。

Object obj = Object()和Object obj()有什么区别?

我认为它有很多关于它的信息,但是我不知道这是如何被调用的。 我不明白下两个代码的区别: Object obj(); 和 Object obj = Object(); 你能解释一下吗? 或者至less说出如何称呼它。

什么是恒定的参考? (不是一个常数的参考)

一个相当理论上的问题……为什么常量引用的行为和常量指针不一样,我实际上可以改变它们指向的对象呢? 他们看起来像另一个简单的variables声明。 为什么我会用它们? 这是一个简单的例子,我运行编译和运行没有错误: int main (){ int i=0; int y=1; int&const icr=i; icr=y; // Can change the object it is pointing to so it's not like a const pointer… icr=99; // Can assign another value but the value is not assigned to y… int x=9; icr=x; cout<<"icr: "<<icr<<", y:"<<y<<endl; }

如果没有大括号

我期望下面的代码进行编译。 铿锵和VC ++都给了我一个错误的线。 void MyFunction(std::int32_t& error) { std::int32_t variable = 0; if(GetSomething()) error = EOK; else error = ERROR; } 如果我把大括号括在error = EOK; ,然后编译。 为什么VC ++会说: 非法的,如果没有匹配 ? 我的完整代码如下,用typedefreplacestd :: uint32_t。 它仍然在VC ++中给出相同的错误。 using sint32 = int; #define ERROR 5; #define EOK 0; bool GetSomething(); void MyFunction(sint32& error) { sint32 variable = 0; if (GetSomething()) […]

将接收到的对象转换为List <object>或IEnumerable <object>

我正在尝试执行下面的演员 private void MyMethod(object myObject) { if(myObject is IEnumerable) { List<object> collection = (List<object>)myObject; … do something } else { … do something } } 但是我总是会得到以下的帮助: 无法1[MySpecificType]' to type 'System.Collections.Generic.Listtypes为“System.Collections.Generic.List 1[MySpecificType]' to type 'System.Collections.Generic.List 1 [System.Object]” 我真的需要这个工作,因为这个方法需要非常通用的接收单个对象和集合的未指定的types。 这是可能的,还是有另一种方式来实现这一点。 谢谢。

如何分配将显示在任务栏中的应用程序图标?

我正在一个Wpf桌面应用程序,每当我运行我的应用程序,它显示了一个窗口和任务栏中的相关选项卡(正常Windowsfunction)。 我的问题是该标签正在使用窗口的图标为未知的文件types,我尝试使用窗口的图标属性,图标获取分配,但仍然是问题是当我运行应用程序,任务栏标签初始显示窗口的图标为未知的文件types,窗口加载完成它更改为分配的图标。 我从一开始就想要Icon。 任何帮助? 编辑: 我试着.csproj – >属性 – >应用程序选项卡 – >图标,并将其设置为一个.ico文件。 它的工作原理,但我需要通过.exe文件运行我的应用程序。 它在开发环境中不起作用(通过visual studio运行时)。 然后我需要设置Start-Project选项。 还有别的方法可以解决这个问题吗?

std ::线程调用类的方法

可能重复: 用成员函数启动线程 我有一个小class: class Test { public: void runMultiThread(); private: int calculate(int from, int to); } 如何从方法runMultiThread()中的两个线程calculate两个不同的参数集(例如calculate(0,10) , calculate(11,20) runMultiThread() ? PS谢谢,我已经忘记,我需要通过this ,作为参数。

比多个catch块更优雅的exception处理?

使用C#,有没有更好的方式来处理多种types的exception,而不是一堆丑陋的catch块? 什么被认为是这种情况下的最佳做法? 例如: try { // Many types of exceptions can be thrown } catch (CustomException ce) { … } catch (AnotherCustomException ace) { … } catch (Exception ex) { … }