草庐IT

contained-object

全部标签

c# - NHibernate 3.1 NHibernate.Linq.NhRelinqQueryParser 异常 "Sequence contains more than one matching element"

我正在使用Nhibernate3.1/FluentNhibernate1.2当我使用CTRL+F5在Release模式下工作时,我没有遇到任何异常。但是在使用F5的Debug模式下会发生以下异常:此代码的控制台应用程序:_Session.Query().Where(x=>x.Bar=="bar").FirstOrDefault()异常(exception):System.TypeInitializationExceptionwasunhandledMessage=Thetypeinitializerfor'NHibernate.Linq.NhRelinqQueryParser'thre

c# - "Unable to cast object of type ' System.Net.Http.Formatting.JsonContractResolver ' to type ' Newtonsoft.Json.Serialization.DefaultContractResolver '."

我们有一个最近被转移到新服务器的WEBAPI项目。在对项目的有效负载进行一些添加后,我正在运行我的项目,但它突然抛出以下错误:Unabletocastobjectoftype'System.Net.Http.Formatting.JsonContractResolver'totype'Newtonsoft.Json.Serialization.DefaultContractResolver'.有问题的代码行在global.asax中:protectedvoidApplication_Start(){GlobalConfiguration.Configure(WebApiConfig.R

c# - 在 Protobuf.NET 中序列化 List<object> (其中对象支持原语)?

如何使用protobuf-net序列化这样的对象:publicclassMyObject{publicstringKey{get;set;}publicListValues{get;set;}}当我尝试使用TypeModelprotobuf-net对此进行序列化时,抛出一个错误,指出它不知道如何序列化System.Object。现在我知道Values只会包含基元(int、string、float、DateTime等)。那么如何让protobuf-net知道这一点呢? 最佳答案 在任何意义上,这在纯ProtoBuf中都是不可行的。Pr

c# - SOAP 错误 : "Server was unable to process request" "Object reference not set to an instance of an object"

当我向本地IIS中的服务发送SOAP请求时,一切正常。当我向在另一台主机上的IIS上运行的同一服务发送SOAP请求时,一切正常。但是当另一个程序员向我的服务发送SOAP请求时,他通常会得到正确的响应,除了返回服务中的一个方法:soap:ServerServerwasunabletoprocessrequest.--->Objectreferencenotsettoaninstanceofanobject.我需要了解他收到此错误的原因。他的SOAP请求与SOAP请求完全相同,但我的有效,而他的无效。 最佳答案 如果您不确切知道错

c# - Linq to Objects - 从数字列表中返回数字对

varnums=new[]{1,2,3,4,5,6,7};varpairs=/*somelinqmagichere*/;=>对={{1,2},{3,4},{5,6},{7,0}}pairs的元素应该是双元素列表,或者是一些具有两个字段的匿名类的实例,比如new{First=1,Second=2}. 最佳答案 默认的linq方法都不能通过单次扫描懒惰地执行此操作。压缩序列本身会进行2次扫描,并且分组并不完全是惰性的。最好的办法是直接实现它:publicstaticIEnumerablePartition(thisIEnumerable

c# - 使用 PLinq 列出 Contains()?

假设我有一个大列表ListlongList=newList(10000000)我想做以下查询:boolfound=longList.Contains(4345235234524245124L);有没有办法使用PLinq让每个线程只搜索列表的一小部分?我知道在这种情况下使用Dictionary或HashMap会更好。这正是我想了解的有关PLinq的信息,这个示例非常方便。 最佳答案 是的,使用boolfound=longList.AsParallel().Contains(4345235234524245124L);确实应该将其并行化

c# - Linq To Objects - 在连接的幕后

我想知道这两个linq语句之间有什么区别?什么更快?它们一样吗?这句话有什么区别fromcincategoriesfrompinproductswherec.cid==p.pidselectnew{c.cname,p.pname};还有这个声明?fromcincategoriesjoinpinproductsonc.cidequalsp.pidselectnew{c.cname,p.pname};提前谢谢你们。编辑:在LINQtoObjects的上下文中 最佳答案 好的,在LINQtoObjects中,差异可能非常显着。第一种形式检

c# - Linq Contains() 是否检查 HashSet?

有时HashSet通过属性作为IEnumerable公开。众所周知,对于enumerable.Count(),代码会检查它是否是一个集合,因此它不会枚举整个列表,而是走捷径。对于使用enumerable.Contains(x)和HashSets的Linq版本是否有任何类似的检查? 最佳答案 来自referencesource,是的,虽然不是直接的:publicstaticboolContains(thisIEnumerablesource,TSourcevalue){ICollectioncollection=sourceasICo

C# 代码简化查询 : The Null Container and the Foreach Loop

我经常有这样的代码:if(itm!=null){foreach(typexinitm.subItems()){//dostuff}}//domorestuff在省略//domorestuff的情况下,很容易避免额外的foreach循环。通过使用适当的命令退出作用域(根据发生的情况,这通常意味着return语句或continue语句)。这种类型的东西往往会导致箭头代码。我目前有几种方法来处理这个问题:使用itm=itm==null这样的代码?itm.subItems():空数组允许箭头代码使用goto使用邪恶的范围黑客(将整个事情,所有的if语句包装在一个范围内,然后突破它)。在我看来,

c# - 枚举 MatchCollection 时,为什么 var 结果是 Object 类型而不是 Match 类型?

我注意到下面的代码有些奇怪:MatchCollectionmc=Regex.Matches(myString,myPattern);foreach(varmatchinmc)Console.WriteLine(match.Captures[0]);//变量match的类型是Object而不是Match。我习惯于使用var枚举集合,没有这样的问题。为什么MatchCollection不同? 最佳答案 MatchCollection是在.NET2之前编写的,所以它只是实现了IEnumerable而不是IEnumerable.但是,您可以