草庐IT

list_of_ids

全部标签

c# - 具有默认值的 XmlSerializer 和 List<T>

我在序列化和反序列化具有List类型成员的类时观察到一个奇怪的行为在构建时填充了默认值。与基于数组的属性不同,类型为List的属性不会在XmlSerializer反序列化时被清空。这是我的代码:publicclassProgram{publicclassConfig{publicConfig(){Test1=newList(){"A","B"};Test2=newString[]{"A","B"};}publicListTest1{get;set;}publicstring[]Test2{get;set;}}publicstaticvoidMain(){XmlSerializerxml

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# - 为什么 Stack<T> 和 Queue<T> 没有 Capacity 属性而 List<T> 有?

Capacity属性在List中是否比在其他集合(如Stack和Queue)中更有用?还是有其他方法可以获取Stack或Queue的容量? 最佳答案 我认为List具有Capacity属性而Stack和Queue没有的原因是这些类型的正常用法是不同的。对于List,用大量值填充它是相当常见的,甚至在它创建一段时间后也是如此。提供Capacity属性(和构造函数参数)有助于减少将大量项目添加到列表时将完成的重新分配的数量。Stack和Queue另一方面,它们不会立即添加大量项目已创建。据推测,Microsoft认为不值得添加Capac

c# - List<SelectListItem> 如何在 View 中安全地转换为 SelectList

我正在关注一个问题,其中OP有类似这样的东西[HttpGet]publicActionResultIndex(){varoptions=newList();options.Add(newSelectListItem{Text="Text1",Value="1"});options.Add(newSelectListItem{Text="Text2",Value="2"});options.Add(newSelectListItem{Text="Text3",Value="3"});ViewBag.Status=options;returnView();}然后在View中可以做这样的事情

c# - 用于修复 .NET 应用程序以解决 SQL Server 超时问题并改进执行时间的 list

用于改进.NET代码和SQLServer之间的执行时间的list。任何从基本到奇怪的解决方案都值得赞赏。代码:通过avgbody更改命令和连接中的默认超时.avgbody使用存储过程调用而不是内联sql语句.使用JayShepherd的事件监视器查找阻止/锁定.SQL服务器:注意存储过程中的参数嗅探AlexCuse.注意动态增长数据库MartinClarke.通过BradO使用Profiler查找任何花费超过100毫秒的查询/存储过程.将事务超时增加avgbody.通过avgbody将动态存储过程转换为静态存储过程.通过JayShepherd检查服务器有多忙.

c# - 如何使用进程 ID 获取 Excel 实例或 Excel 实例 CLSID?

我正在使用C#,我需要通过进程ID获取特定的excel实例;我从另一个应用程序获得了我需要的实例的进程ID,但我不知道还能做什么,我不知道如何根据他的进程ID获得正在运行的excel实例。我在网上做了很多研究,但我只看到使用Marshal.GetActiveObject(...)或Marshal.BindToMoniker(...)的示例,我无法使用,因为第一个返回在ROT中注册的第一个Excel实例并不完全是我需要的实例,第二个实例要求您在尝试获取实例之前保存excel文件。另外,如果我在哪里能够使用进程ID获取我需要的excel实例的CLSID,那么我可以调用GetActiveOb

c# - C# List<T> 的线程安全给读者

我计划在静态构造函数中创建一次列表,然后让该类的多个实例同时读取它(并枚举它)而不进行任何锁定。在本文中http://msdn.microsoft.com/en-us/library/6sh2ey19.aspxMS是这样描述线程安全问题的:Publicstatic(SharedinVisualBasic)membersofthistypearethreadsafe.Anyinstancemembersarenotguaranteedtobethreadsafe.AListcansupportmultiplereadersconcurrently,aslongasthecollectio

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# - 使用 XmlSerializer 反序列化 List<int> 导致额外的项目

我注意到XmlSerializer和通用列表(特别是List)有一个奇怪的行为。我想知道是否有人以前见过这个或知道发生了什么。看起来序列化工作正常,但反序列化想要向列表中添加额外的项目。下面的代码演示了这个问题。可序列化类:publicclassListTest{publicint[]Array{get;set;}publicListList{get;set;}publicListTest(){Array=new[]{1,2,3,4};List=newList(Array);}}测试代码:ListTestlistTest=newListTest();Debug.WriteLine("I

c# - 如何实现通用 GetById() 其中 Id 可以是各种类型

我正在尝试实现一个通用的GetById(Tid)方法,该方法将满足可能具有不同ID类型的类型。在我的示例中,我有一个实体,其ID类型为int,其中一个ID类型为string。但是,我一直收到错误,我不知道为什么:“int”类型必须是引用类型,以便在方法IEntity的泛型类型中将其用作参数“TId”实体接口(interface):为了迎合我的域模型,它可以具有int或string类型的Id。publicinterfaceIEntitywhereTId:class{TIdId{get;set;}}实体实现:publicclassEntityOne:IEntity{publicintId{