草庐IT

c# - 对列表框中的项目列表进行排序

我想从一个列表框中获取一堆项目,将它们添加到一个数组中,对其进行排序,然后将其放回另一个列表框中。这是我想出的:ArrayListq=newArrayList();foreach(objectoinlistBox4.Items)q.Add(o);q.Sort();listBox5.Items.Add(q.ToString());但它不起作用。有什么想法吗? 最佳答案 您可以只使用ListBox.Sorted内置功能foreach(objectoinlistBox4.Items){listBox5.Items.Add(o);}list

c# - CompilerParameters.ReferencedAssemblies -- 添加对 System.Web.UI.WebControls 的引用

我正在使用CodeDomProvider类在运行时编译类。这适用于仅使用System命名空间的类:usingSystem;publicclassTest{publicStringHelloWorld(){return"HelloWorld!";}}如果我尝试使用System.Web.UI.WebControls编译一个类,我会得到这个错误:{errorCS0006:Metadatafile'System.Web.UI.WebControls'couldnotbefound}System.CodeDom.Compiler.CompilerError这是我的代码片段:varcp=newCo

c# - 对 protobuf-net WCF 的使用感到困惑

我一直在关注thistutorial将protobuf-net添加到我的WCF项目。我有一个共享的DTO库。服务器和客户端都使用这些DTO类。我已将所有服务方法归因于[OperationContract]属性,但我没有在我的DTO类上分配任何[DataContract]属性。我添加了protobuf-netNuget包并将配置添加到web.config。我正在使用IISExpress来测试我的服务,并且认为我应该可以接受到目前为止所做的一切。然而,在测试了几次调用之后,我注意到我忘记将protobuf-net添加到我的客户端,但一切都按预期工作(即没有序列化或反序列化错误)。我怀疑我的

c# - 有什么方法可以对 List<T> 的子类进行 JSON.NET 序列化,该子类也具有额外的属性?

好的,我们正在使用我非常喜欢的Newtonsoft的JSON.NET产品。但是,我有一个简单的类结构,用于分层位置,大致如下所示......publicclassLocation{publicstringName{get;set;}publicLocationListLocations{get;set;}}//Note:LocationListissimplyasubclassofaList//whichthenaddsanIsExpandedpropertyforusebytheUI.publicclassLocationList:List{publicboolIsExpanded{

C# 插件架构和对用户可配置数据库设置的引用

我有一个可由用户配置的数据库应用程序-其中一些选项是从不同的外部插件系统中选择的。我有一个基本插件类型,我的数据库模式具有相同的插件记录类型和相同的字段。我有一个PlugingMananger在应用程序启动时加载插件(通过IoC容器)并将它们链接到数据库(本质上是将磁盘上的字段从插件复制到数据库)。publicinterfaceIPlugin{GuidId{get;}VersionVersion{get;}stringName{get;}stringDescription{get;}}然后可以使用PlugingMananger.GetPlugin(GuidpluginId,Guidus

c# - 如何对 List<T> 使用 BinarySearch

让我们从ListBinarySearch的重载开始:publicintBinarySearch(Titem,IComparercomparer);众所周知,在使用BinarySearch之前,应该使用适当的IComparer对列表进行排序。但是然后:要搜索列表,您将必须提供一个T项。当人们习惯于根据项目的属性搜索列表中的项目(即使用Linq或委托(delegate)/谓词)时,这是相当出乎意料的。因为当我已经有了我的T项目时,我就不需要搜索它了!现在我在C#中实现C++代码,看到C++程序员在他的代码中到处使用C++风格的二进制搜索,如下所示。首先他制作了一个新的Titem,并赋予了这

c# - 如何对可以取消的 DataTable 操作执行 SQL 查询

我试着让标题尽可能具体。基本上我现在在后台工作线程中运行的是一些代码,如下所示:SqlConnectionconn=newSqlConnection(connstring);SqlCommandcmd=newSqlCommand(query,conn);conn.Open();SqlDataAdaptersda=newSqlDataAdapter(cmd);sda.Fill(Results);conn.Close();sda.Dispose();其中query是一个字符串,表示一个大的、耗时的查询,conn是连接对象。我现在的问题是我需要一个停止按钮。我开始意识到杀死后台工作人员将毫无

c# - 使用 Mock IDbSet 对 Entity Framework 进行单元测试

我以前从未真正做过单元测试,而且我在第一次测试时跌跌撞撞。问题在于_repository.Golfers.Count();始终指示DbSet为空。我的测试很简单,我只是想添加一个新的高尔夫球手[TestClass]publicclassGolferUnitTest//:GolferTestBase{publicMockGolfEntities_repository;[TestMethod]publicvoidShouldAddNewGolferToRepository(){_repository=newMockGolfEntities();_repository.Golfers=new

C# UWP - 无法在同一解决方案中添加对项目的引用

我需要为我需要使用的API实用程序编写一个UI。我为UI创建了一个新的通用Windows应用程序,将API实用程序项目添加到解决方案中,现在需要从UWP项目引用API实用程序-但我只是得到“无法添加对项目‘XXX’的引用”。如果我创建Windows窗体应用程序或控制台项目并将其添加到解决方案中,我可以进行引用,没有问题。UWP有什么我不明白的? 最佳答案 在您尝试引用的项目中,确保TargetFrameworks绰号不包含.NETCore或.NETFramework.用鼠标右键单击您要引用的项目。编辑项目文件找到删除不需要的目标。对

c# - 从 Nuget 安装会添加对 bin 目录的引用

我正在使用Nuget包管理器安装AvsAn(2.1.0)包。我期望引用路径是包目录,类似于:C:\app\packages\AvsAn.dll但是添加了对bin目录的引用:C:\app\NameSpace\bin\AvsAn.dll令人困惑的是,某些包会发生这种情况,但其他包不会发生这种情况(即引用路径是packages文件夹,正如预期的那样)我尝试过的卸载并重新安装包谷歌搜索类似的东西(我一直找不到任何东西) 最佳答案 我们发现同一解决方案中的不同项目使用的是彼此不同的版本。此外,单个项目的版本可能在中列出。HintPath中列出