摘要: static class Program { static Mutex mx; static bool PreventReenterProcess(string ProcessMark) { bool IsSucess; mx = new Mutex(true, @"Global\" + ProcessMark, out IsSucess); if (IsSucess) { return false; //返回false表示进... 阅读全文
posted @ 2014-01-15 13:02 guosongORxiaosong 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 1、安装SQL Server的时候不是使用的默认实例名称,那么在连接服务器选择服务器名称的时候,不仅要正确输入或选择该服务器的名称或IP,还要在后面加上安装SQL Server时自定义的实例名称。如GS-PC\SQL2012(服务器名称\实例名称)。2、有时候在别的服务器或者电脑上拷贝一个数据库完整的文件(且本机和原服务器的数据库版本相同)在本地却不能附加,这种情况可能是权限造成的。附加之前右键mdf和ldf文件->属性->安全->编辑->添加(添加一个everyone用户)->确定->在安全下面的权限中勾选“完全控制”,然后确定即可。3、SQL2008无法 阅读全文
posted @ 2013-09-10 09:19 guosongORxiaosong 阅读(183) 评论(0) 推荐(0) 编辑
摘要: LINQ查询执行的时机查询分为以下三步:获取数据源、定义查询、执行查询;定义查询后,查询直到需要枚举结果时才被真正执行,这种方式称为“延迟执行(deferred execution)”;当查询方法返回单一值时,查询立即执行;因此,可以通过以下技巧在定义查询时就强制执行查询;LINQ查询的两种方式Method Syntax, 查询方法方式主要利用 System.Linq.Enumerable 类中定义的扩展方法和 Lambda 表达式方式进行查询Query Syntax, 查询语句方式一种更接近 SQL 语法的查询方式,可读性更好查询语句vs查询方法查询语句与查询方法存在着紧密的关系1、CLR( 阅读全文
posted @ 2013-02-22 11:59 guosongORxiaosong 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 获取数据说明:Select 方法本身是一个泛型扩展方法它作用于IEnumerable<TSource>类型它只接受一个 Func<TSource, TResult> 类型参数Func<TSource, TResult> 是一个泛型委托,位于System名字空间下,System.Core.dll中在这里 selector 是一个提取器过滤数据说明:Where方法也是一个泛型扩展方法它和 Select() 一样作用于IEnumerable<TSource>类型它只接受一个 Func<TSource, bool> 泛型委托参数在这里 pre 阅读全文
posted @ 2013-02-22 10:28 guosongORxiaosong 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 匿名委托写法:delegate(参数列表){方法体}Lambda 表达式写法:(参数列表)=>{方法体}在 C# 2.0 中,加入了匿名方法特性:在 C# 3.0 中,继匿名方法之后加入了更为简洁的 Lambda 表达式:最基本的 Lambda 表达式语法如下:参数列表中的参数类型可以是明确类型或者是推断类型;如果是推断类型,则参数的数据类型将由编译器根据上下文自动推断出来。Lambda与匿名方法的关系总体上说,匿名方法可以看作是Lambda 表达式的功能子集,但是两者存在以下区别:Lambda 表达式的参数允许不指明参数类型,而匿名方法的参数必须明确指明参数类型Lambda 表达式的方 阅读全文
posted @ 2013-02-21 17:54 guosongORxiaosong 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 委托和接口都允许类设计器分离类型声明和实现。给定的接口可由任何类或结构继承和实现;可以为任何类中的方法创建委托,前提是该方法符合委托的方法签名。接口引用或委托可由不了解实现该接口或委托方法的类的对象使用。既然存在这些相似性,那么类设计器何时应使用委托,何时又该使用接口呢?委托具有以下特点:委托类似于 C++ 函数指针,但它们是类型安全的。委托允许将方法作为参数进行传递。委托可用于定义回调方法。委托可以链接在一起;例如,可以对一个事件调用多个方法。方法不必与委托签名完全匹配。 在以下情况中使用委托:当使用事件设计模式时。-一种设计模式当封装静态方法可取时。-隐藏静态方法;我举个例子:new de 阅读全文
posted @ 2013-02-21 17:20 guosongORxiaosong 阅读(792) 评论(0) 推荐(0) 编辑
摘要: 委托的定义:委托可以理解为一个函数指针,它定义了一个函数的原型。委托可以看作是托管版本的函数指针委托只对方法的原型(签名)进行约束委托可以方便我们在程序运行时动态决定对象的行为如下图:委托的实例化:委托的实例化就是将委托变量指向一个符合委托原型的实际方法。 委托的使用:定义一个处理字符串的委托 ProcessStringDelegate,编写两个方法:一个方法以 Pascal 方式将字符串输出到控制台;一个方法直接将字符串显示到消息框中转载连接:C#中的委托和事件http://www.cnblogs.com/jimmyzhang/archive/2007/09/23/903360.html.. 阅读全文
posted @ 2013-02-21 17:16 guosongORxiaosong 阅读(326) 评论(0) 推荐(0) 编辑
摘要: LINQ( Language Integrated Query )即语言集成查询LINQ 是一组语言特性和API,使得你可以使用统一的方式编写各种查询。查询的对象包括XML、对象集合、SQL Server 数据库等等。LINQ 主要包含以下三部分:LINQ to Objects 主要负责对象的查询LINQ to XML 主要负责 XML 的查询LINQ to ADO.NET 主要负责数据库的查询LINQ to SQLLINQ to DataSetLINQ to Entities面向对象与数据访问两个领域长期分裂,各自为政编程语言中的数据类型与数据库中的数据类型形成两套体系。例如: C# ... 阅读全文
posted @ 2013-02-21 16:33 guosongORxiaosong 阅读(165) 评论(0) 推荐(0) 编辑
摘要: object 是把一个变量直接声明成object类型 而var则根据赋值的类型自动设置变量的类型 阅读全文
posted @ 2013-02-21 16:26 guosongORxiaosong 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 第一个特性:隐式类型化本地变量我们可以统一使用使用"var"关键字来声明局部变量,而不再需要指明变量的确切类型,变量的确切类型可通过声明变量时的初始值推断出来。由于变量的类型是通过变量初始值推断而来的,所以在声明变量的同时必需为变量指定初始值。并且,变量并不是没有类型的,变量一旦初始化后,类型就确定下来了,以后就只能存储某种类型的值。第二个特性:匿名类型通过匿名类型,我们可以简单使用new { 属性名1=值1, 属性名2=值2, ..... , 属性名n=值n }的形式直接在函数中创建新的类型,在新类型中只能有字段成员,而且这些字段的类型也是通过初值的类型推断出来的。第三个 阅读全文
posted @ 2013-02-21 16:16 guosongORxiaosong 阅读(182) 评论(0) 推荐(0) 编辑