草庐IT

c# - 具有 linq 数据上下文的存储过程返回值

我正在尝试使用Linq访问存储过程的返回值DECLARE@ValidTokenint=0//Ihavealsotriedusingabitinsteadofaninthere.IFEXISTS(SELECT1FROMTestsWHERETestToken=@Token)select@ValidToken=1return@ValidToken这在通过sqlstudio运行SP时有效。但是我正在尝试使用datacontext类通过linq运行它,它总是返回-1。using(DataEntitiesdataEntities=newDataEntities()){intquery=data.V

c# - List.Contains() 的循环实现看起来比内置的更快。是吗?如果是这样,为什么?

(Thisquestionarisesfromadiscussionthatstartedhere)我正在比较寻找true的时间List中的值使用List.Contains()与那些用于手卷循环。我看到的结果与其他人报告的结果不同。我已经在几个系统上试过了,在我试过的所有系统上,循环似乎快了2到3.5倍。这些系统的范围从使用.Net4运行XP的5年前笔记本电脑到最近运行Windows8和.Net4.5的PC。其他人报告了不同的结果,即List.Contains()与循环的速度大致相同或略快。这是我的测试代码。usingSystem;usingSystem.Collections.Gen

c# - 在泛型中实现算术?

是否可以在C#泛型中实现基本算术(至少是加法),就像您可以的那样withC++templates?我已经尝试了一段时间让它们启动并工作,但C#不允许您多次声明相同的泛型类型,就像您可以使用模板一样。广泛的谷歌搜索没有提供答案。编辑:谢谢,但我正在寻找一种在编译时进行算术运算的方法,在泛型类型中嵌入诸如教堂数字之类的东西。这就是为什么我链接了我所做的文章。在泛型中的算术,而不是在泛型实例上的算术。 最佳答案 不幸的是,您不能对泛型类型使用算术运算TAdd(Ta,Tb){returna+b;//compilererrorhere}不能在

c# - 调试返回值

我记得当我在VisualStudio6.0中调试C++代码时,我可以看到方法的返回值。现在,我在VisualStudio2010的C#中缺少该功能。我在哪里可以看到返回值或者有没有显示它的原因?编辑1:一个例子:stringGetFullName(){returnGetFirstName()+""+GetLastName();}当我从以return开头的行步进(调试器)到下一行时,我希望在调试变量窗口中看到全名。 最佳答案 这是在VisualStudio2013中添加的:返回值显示在“AutosWindows”(Debug->Win

c# - 基于 Accept header 的 ASP.NET Core Web API 操作选择

我想根据请求的接受header为同一功能(实体列表)返回两个不同格式的响应,它是针对“json”和“html”请求。asp.netcore是否支持根据请求中的AcceptHeader为同一路由选择不同的Action? 最佳答案 我深入研究了.net核心源代码并寻找其他具有类似行为的属性,例如Microsoft.AspNetCore.Mvc.HttpGet或Microsoft.AspNetCore.Mvc.ProducesAttribute。这两个属性都实现了一个Microsoft.AspNetCore.Mvc.ActionConst

c# - MVVM - 验证真的需要这么麻烦吗?

在我的应用程序中,我有大量的表单,其中大部分都有自己的绑定(bind)模型!当然数据验证很重要,但是没有比为所有模型实现IDataErrorInfo然后为所有属性编写代码来验证它们更好的解决方案了吗?我已经创建了验证助手,它删除了很多实际的验证代码,但我仍然忍不住觉得我错过了一两个技巧!我可以补充一点,这是我在其中使用MVVM的第一个应用程序,所以我确信我在这个主题上还有很多东西要学习!编辑:这是我非常不喜欢的典型模型的代码(让我解释一下):stringIDataErrorInfo.Error{get{returnnull;}}stringIDataErrorInfo.this[str

c# - Web API 2 Http 发布方法

我很反感没有找到解决这个问题的办法。我开始使用WebAPI2创建一个新的API,但无法使POST和PUT正常工作。获取全部和获取单个项目工作得很好。到处都没有相关文章,我找到的那些文章只与Gets和WebAPI有关,与WebAPI2无关。请提供任何帮助。//POST:api/checkOuts[HttpPost][ResponseType(typeof(checkOut))][ApiExplorerSettings(IgnoreApi=true)]publicasyncTaskPostcheckOut(checkOutco){if(!ModelState.IsValid){return

c# - 如何枚举 x^2 + y^2 = z^2 - 1(有附加约束)

让我们N是一个数字(10.我必须把它分成3个数字(x,y,z)这样它就可以验证以下条件。1.x我必须找出我可以从一个方法中的给定数字中得到多少组合。我已经尝试如下,但是它花费了很多时间来获得更高的数字并导致超时..intN=Int32.Parse(Console.ReadLine());Listres=newList();//x我的问题:我的解决方案是花时间获得更大的数字(我认为这是for循环),我该如何改进它?是否有更好的方法? 最佳答案 这里有一个枚举三元组的方法,而不是详尽地测试它们,使用这里描述的数论:https://mat

c# - 如何确定我的应用程序是否处于事件状态(有焦点)

有没有办法判断我的应用程序是否处于事件状态,即它的任何窗口是否具有.IsActive=true?我正在编写Messenger应用程序,并希望它在处于非事件状态和收到新消息时在任务栏中闪烁。 最佳答案 使用P/Invoke和循环[System.Runtime.InteropServices.DllImport("user32.dll")]staticexternIntPtrGetForegroundWindow();privatestaticboolIsActive(Windowwnd){//workaroundforminimiza

c# - 获取匿名类型的读/写属性

我需要获取可以写入的匿名类型的所有属性。例如:varperson=new{Name="Person'sName",Age=25};TypeanonymousType=person.GetType();varproperties=anonymousType.GetProperties(BindingFlags.Public|BindingFlags.Instance);问题是所有属性都有它们的CanWrite属性false。对于非匿名类型,这将作为true返回。我还尝试调用PropertyInfo.GetSetMethod()返回null。如何检查该属性是否可以写入?编辑:也许知道一个类