草庐IT

统一结果包装

全部标签

c# - LINQ IEnumerable 的序列化结果

我有一个简单的值类型:[Serializable]privatestructTimerInstance{publicTimerInstance(stringstr,longnTicks){_name=str;_ticks=nTicks;}privatereadonlystring_name;privatereadonlylong_ticks;publicstringName{get{return_name;}}publiclongTicks{get{return_ticks;}}publicoverridestringToString(){returnstring.Format("{0

c# - 如何将 sql 查询的结果映射到对象?

目前,我正在使用这样的东西:try{dr=SQL.Execute(sql);if(dr!=null){while(dr.Read()){CustomObjectc=newCustomObject();c.Key=dr[0].ToString();c.Value=dr[1].ToString();c.Meta=dr[2].ToString();customerInfo.CustomerList.Add(c);}}else{customerInfo.ErrorDetails="Norecordsfound";}有没有办法直接进行此映射(假设列名与字段名匹配),而不是我手动进行分配。然而,一

c# - HttpContext 和 SignalR HubCallerContext 之间的统一静态类

我有很多代码依赖于HttpContext.Current,我注意到来自SignalR集线器的请求有HttpContext.Current==null,所以我的代码中断了,例如:HttpContext.Current.Request.IsAuthenticated所以我想到了以下内容:publicstaticclassUnifiedHttpContext{privatestaticHubCallerContextSignalRContext{get;set;}privatestaticintSignalRUserId{get{returnWebSecurity.GetUserId(Sig

c# - Entity Framework 存储过程 - 使用 CodeFirst 的多个结果集

我正在使用以下代码从存储过程中获取常规结果:varparamUserId=newSqlParameter{ParameterName="userId",Value=userId};stringquery=string.Format("{0}{1}","SpSetFoo","@userId");varresults=context.Database.SqlQuery(query,paramUserId);result=results.ToList();与此同时,我需要从另一个存储过程中检索多个结果集,根据此文档我发现这是可能的:http://msdn.microsoft.com/en-u

c# - 如何运行多个任务,处理异常并仍然返回结果

我正在更新我的并发技能。我的问题似乎相当普遍:从多个Uris读取、解析和处理结果等。我有ConcurrencyinC#Cookbook.有几个使用GetStringAsync的示例,例如staticasyncTaskDownloadAllAsync(IEnumerableurls){varhttpClient=newHttpClient();vardownloads=urls.Select(url=>httpClient.GetStringAsync(url));Task[]downloadTasks=downloads.ToArray();string[]htmlPages=awai

c# - 将两个并行任务的结果合并到一个列表中

我想将2个任务的结果合并到一个列表集合中。确保-我想并行运行这两种方法。代码:ListtotalEmployees=newList();方法一:publicasyncTask>SearchEmployeeFromDb();方法二:publicasyncTask>GetEmployeeFromService();现在,我想将这两个方法的结果保存在totalEmployees字段中,而且这两个方法应该异步运行。 最佳答案 虽然许多答案都很接近,但最干净、最有效的选择是使用Task.WhenAll结合SelectMany:asyncTas

c# - 将两个 Linq 查询的结果组合成一个 Var?

我有两个不同的数据库,其中包含两个设计完全相同的表。如何最有效地组合这两个查询的结果?我知道我可以将每个结果放入字典或数组或其他任何东西中,但我想有一种更简单的方法可以做到这一点。vardb1=//Adatabaseobjectconnectedtodatabase1vardb2=//Adatabaseobjectconnectedtodatabase2varresult1=db1.table.where(a=>a.value>0);varresult2=db2.table.where(a=>a.value>0);varresultSum=result1+result2;//???谢谢

c# - 为什么将两个字符串作为对象进行比较会导致意外结果

考虑以下代码。objectstr=newstring(newchar[]{'t','e','s','t'});objectstr1=newstring(newchar[]{'t','e','s','t'});Console.WriteLine(str==str1);//falseConsole.WriteLine(str.Equals(str1));//true我理解相等运算符在这里工作,因为我们已经隐式转换为对象,相等运算符正在检查两者的引用是否相等并返回false。但我对第二个感到困惑,返回true看起来它正在调用String类型提供的Equals覆盖实现,并且它检查字符串的内容是

c# - 使用 LINQ Average() 方法处理空结果

我是LINQ的新手并试图从表格到图表创建一些数据点。此表中的三个重要字段是id、时间和值。我正在编写一个查询以获取所选ID在设定时间内的平均值。我编写的LINQ如下:varvalue=(fromtin_tablewheret.Id==id&&t.Time>=intervalStartTime&&t.Time但是这会在运行时崩溃:"ThenullvaluecannotbeassignedtoamemberwithtypeSystem.Decimalwhichisanon-nullablevaluetype.."在某些时间间隔内没有数据,因此SQLLINQ生成返回null,我希望将其合并为

c# - Environment.CurrentDirectory 在运行已安装的应用程序时产生意外结果

背景:我为我的应用构建了一个安装程序,我所有的dll和内容文件都被正确地复制到C:\ProgramFiles\MyCompany\MyApp目录。当我从VisualStudio运行我的应用程序时,一切正常。但是,当我运行我的应用程序的已安装版本时,我收到了DirectoryNotFoundException。问题似乎出在Environment.CurrentDirectory上。我期望Environment.CurrentDirectory是..."C:\\ProgramFiles\\MyCompany\\MyApp"...但实际上..."C:\\DocumentsandSetting