Tag: C#的

赋值运算符和拷贝构造函数有什么区别?

我不明白C ++中赋值构造函数和拷贝构造函数的区别。 这是这样的: class A { public: A() { cout << "A::A()" << endl; } }; // The copy constructor A a = b; // The assignment constructor A c; c = a; // Is it right? 我想知道如何分配内存赋值构造函数和复制构造函数?

批量删除LINQ to Entities

有没有办法批量删除LINQ或LINQ-to-Entities中匹配给定查询的一堆对象? 我能find的唯一的引用是过时的,似乎很愚蠢的反复,并手动删除所有我想删除的对象。

检查path是文件还是目录的更好方法?

我正在处理目录和文件的TreeView 。 用户可以select一个文件或一个目录,然后做一些事情。 这要求我有一个方法,根据用户的select执行不同的操作。 目前我正在做这样的事情来确定path是文件还是目录: bool bIsFile = false; bool bIsDirectory = false; try { string[] subfolders = Directory.GetDirectories(strFilePath); bIsDirectory = true; bIsFile = false; } catch(System.IO.IOException) { bIsFolder = false; bIsFile = true; } 我不禁感到有更好的方法来做到这一点! 我希望find一个标准的.NET方法来处理这个问题,但是我一直没能做到。 这样的方法是否存在,如果不存在,那么确定path是文件还是目录的最直接方法是什么?

const之前或const之后?

要开始你可能知道const可以用来使对象的数据或指针不可修改或两者兼而有之。 const Object* obj; // can't change data Object* const obj; // can't change pointer const Object* const obj; // can't change data or pointer 但是,您也可以使用以下语法: Object const *obj; // same as const Object* obj; 似乎唯一重要的是你把const关键字放在星号的哪一边。 就我个人而言,我更喜欢把const放在types的左边来指定它的数据是不可修改的,因为我发现它从左到右的思维模式读得更好,但是哪个语法最先? 更重要的是,为什么有两种正确的方式来指定const数据,在什么情况下你会喜欢还是需要一个呢? 编辑: 所以这听起来像是一个随意的决定,编译器如何解释事物的标准早在我出生之前就已经起草了。 由于const被应用于关键字左侧的内容(默认情况下),我想他们认为添加“快捷方式”来应用关键字并以其他方式input限定符是没有害处的,至less在声明发生变化之前通过parsing一个*或… 这是C的情况,以及我假设?

如何使用.NET快速比较2个文件?

典型的方法build议通过FileStream读取二进制文件并逐字节比较。 CRC校验和比较会更快吗? 是否有任何.NET库可以为文件生成校验和?

检查SqlDataReader对象中的列名称

如何检查SqlDataReader对象中是否存在列? 在我的数据访问层中,我创build了一个为多个存储过程调用构build相同对象的方法。 其中一个存储过程具有其他存储过程不使用的附加列。 我想修改方法来适应每种情况。 我的应用程序是用C#编写的。

C ++string==和compare()之间的区别?

我刚读了一些关于使用的build议 std::string s = get_string(); std::string t = another_string(); if( !s.compare(t) ) { 代替 if( s == t ) { 我几乎总是使用最后一个,因为我习惯了,感觉自然,更具可读性。 我甚至不知道有一个单独的比较函数。 更确切地说,我认为==会调用compare()。 有什么区别? 在哪种情况下,一种方式应该对另一种方式有利? 我正在考虑的情况下,我需要知道一个string是否是另一个string相同的值。

Web API控制器中的多个HttpPost方法

我开始使用MVC4 Web API项目,我有多个HttpPost方法的控制器。 控制器如下所示: 调节器 public class VTRoutingController : ApiController { [HttpPost] public MyResult Route(MyRequestTemplate routingRequestTemplate) { return null; } [HttpPost] public MyResult TSPRoute(MyRequestTemplate routingRequestTemplate) { return null; } } 这里MyRequestTemplate表示负责处理来自请求的Json的模板类。 错误: 当我使用Fiddler为http://localhost:52370/api/VTRouting/TSPRoute或http://localhost:52370/api/VTRouting/Route ,出现错误: 发现多个与请求匹配的操作 如果我删除上述方法之一,它工作正常。 Global.asax中 我已经尝试修改global.asax的默认路由表,但我仍然收到错误,我想我在global.asax中定义路由有问题。 这是我在做的global.asax。 public static void RegisterRoutes(RouteCollection routes) { routes.MapHttpRoute( name: "MyTSPRoute", routeTemplate: "api/VTRouting/TSPRoute", defaults: new { } ); […]

创buildgenericstypes的实例?

如果BaseFruit有一个构造函数接受一个int weight ,我可以用这样的一个通用方法实例化一块水果吗? public void AddFruit<T>()where T: BaseFruit{ BaseFruit fruit = new T(weight); /*new Apple(150);*/ fruit.Enlist(fruitManager); } 在评论后面添加一个示例。 看来我只能这样做,如果我给BaseFruit一个无参数的构造函数,然后通过成员variables填写所有内容。 在我真正的代码(而不是水果)这是不切实际的。 -Update- 所以看来它不能以任何方式通过约束来解决。 答案有三个候选scheme: 工厂模式 reflection 活化剂 我倾向于认为反思是最不干净的一个,但是我不能在另外两个之间做出决定。

从App.config获取连接string

var connection = ConnectionFactory.GetConnection( ConfigurationManager.ConnectionStrings["Test"] .ConnectionString, DataBaseProvider); 这是我的App.config: <?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="Test" connectionString="Data Source=.;Initial Catalog=OmidPayamak;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings> </configuration> 但是当我的项目运行这是我的错误: 你调用的对象是空的。