Tag: C#的

我可以将扩展方法添加到现有的静态类吗?

我是C#中扩展方法的粉丝,但没有成功添加扩展方法到静态类,如控制台。 例如,如果我想向控制台添加一个名为“WriteBlueLine”的扩展,那么我可以这样做: Console.WriteBlueLine("This text is blue"); 我试图通过添加一个本地的公共静态方法,作为一个“这个”参数的控制台…但没有骰子! public static class Helpers { public static void WriteBlueLine(this Console c, string text) { Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine(text); Console.ResetColor(); } } 这没有添加一个'WriteBlueLine'方法到控制台…我做错了吗? 或者要求不可能的?

为什么使用“新”会导致内存泄漏?

我首先学习了C#,现在我从C ++开始。 据我所知,C ++中的new操作符与C#中的不一样。 你能解释这个示例代码中的内存泄漏的原因吗? class A { … }; struct B { … }; A *object1 = new A(); B object2 = *(new B());

在存储过程中保留SQL与代码有什么优点和缺点

在您的C#源代码或Stored Procs中保留SQL的优点/缺点是什么? 我一直在和一位朋友讨论一个我们正在开发的开源项目(C#ASP.NET论坛)。 目前,大部分数据库访问都是通过在C#中内联SQL并调用SQL Server数据库来完成的。 所以我试图确定哪个对于这个特定的项目是最好的。 到目前为止我有: 代码中的优点: 更容易维护 – 不需要运行SQL脚本来更新查询 更容易移植到另一个数据库 – 没有过程端口 存储Procs的优点: 性能 安全

如何检查一个数是否是2的幂

今天,我需要一个简单的algorithm来检查一个数是否是2的幂。 该algorithm需要是: 简单 纠正任何超值。 我想出了这个简单的algorithm: private bool IsPowerOfTwo(ulong number) { if (number == 0) return false; for (ulong power = 1; power > 0; power = power << 1) { // This for loop used shifting for powers of 2, meaning // that the value will become 0 after the last shift // (from binary […]

entity framework5更新logging

在ASP.NET MVC3环境中,我一直在探索在Entity Framework 5中编辑/更新logging的不同方法,但是到目前为止,没有一个方法可以勾选我需要的所有框。 我会解释为什么。 我已经find了三个方法,我会提到的利弊: 方法1 – 加载原始logging,更新每个属性 var original = db.Users.Find(updatedUser.UserId); if (original != null) { original.BusinessEntityId = updatedUser.BusinessEntityId; original.Email = updatedUser.Email; original.EmployeeId = updatedUser.EmployeeId; original.Forename = updatedUser.Forename; original.Surname = updatedUser.Surname; original.Telephone = updatedUser.Telephone; original.Title = updatedUser.Title; original.Fax = updatedUser.Fax; original.ASPNetUserId = updatedUser.ASPNetUserId; db.SaveChanges(); } 优点 可以指定哪些属性更改 视图不需要包含每个属性 缺点 2 x查询数据库加载原始然后更新它 方法2 – […]

通过AJAX MVC下载Excel文件

我在MVC中有一个很大的(ish)表单。 我需要能够生成包含该表单子集的数据的Excel文件。 棘手的是,这不应该影响其余的forms,所以我想通过AJAX做到这一点。 我已经遇到了几个关于SO的问题,但是我无法弄清楚答案的意思。 这一个似乎是最接近我后: asp-net-mvc-downloads-excel – 但我不知道我明白了答案,现在已经是几年了。 我也遇到了另一篇文章(无法find它)有关使用iframe来处理文件下载,但我不知道如何得到这与MVC的工作。 我的excel文件返回罚款,如果我正在做一个完整的回发,但我不能得到它与MVC AJAX的工作。

如何将CSV文件读入.NET Datatable

如何将CSV文件加载到System.Data.DataTable ,基于CSV文件创build数据表? 常规的ADO.netfunction是否允许这样做?

在C#中取消订阅匿名方法

是否有可能取消订阅一个事件的匿名方法? 如果我订阅这样的事件: void MyMethod() { Console.WriteLine("I did it!"); } MyEvent += MyMethod; 我可以像这样取消订阅: MyEvent -= MyMethod; 但是,如果我使用匿名方法订阅: MyEvent += delegate(){Console.WriteLine("I did it!");}; 是否可以取消订阅这个匿名方法? 如果是这样,怎么样?

什么是访问说明符? 我应该inheritance与私人,受保护或公共?

我对访问修饰符在inheritance方面的含义感到困惑。 涉及private , protected和public关键字的inheritance有什么区别?

在C中使用枚举types的variables作为string的简单方法?

这是我想要做的: typedef enum { ONE, TWO, THREE } Numbers; 我正在尝试编写一个function,可以做类似于以下的开关情况: char num_str[10]; int process_numbers_str(Numbers num) { switch(num) { case ONE: case TWO: case THREE: { strcpy(num_str, num); //some way to get the symbolic constant name in here? } break; default: return 0; //no match return 1; } 在每种情况下,而不是定义,有没有办法使用枚举variables来设置它,就像我想要做的那样?