随笔 - 27
文章 - 0
评论 - 17
阅读 -
65297
随笔分类 - [01]C#
谈谈网站性能优化
摘要:全局硬件 带宽 系统(少装垃圾软件)(cdn联通 电信 铁通) 文件服务器,静态文件服务器,应用服务器分布式,多媒体服务器,数据库服务器分布式 或者局域网加速数据库层面:SqlServer:数据库读写分离 索引只加在读取数据库表太大 用分区表复杂逻辑 存储过程No Sql技术服务器层面多台,sta...
阅读全文
常用正则表达式大全
摘要:0-100整数(包括0,100) ^(\d{1,2}|100)$0-255整数(包括0,255) 25[0-5]|2[0-4][0-9]|(1[0-9]|[1-9])?[0-9] Regex Token = new Regex("[^\"]*?)\">");if (Token.IsMatch(str...
阅读全文
Linq表连接大全(INNER JOIN、LEFT OUTER JOIN、RIGHT OUTER JOIN、FULL OUTER JOIN、CROSS JOIN)
摘要:我们知道在SQL中一共有五种JOIN操作:INNER JOIN、LEFT OUTER JOIN、RIGHT OUTER JOIN、FULL OUTER JOIN、CROSS JOIN1>先创建两个表Group、User,两表的关系是N:NCREATE TABLE [dbo].[Group]( [Id] [int] IDENTITY(1,1) NOT NULL, [GroupName] [nvarchar](50) NULL, CONSTRAINT [PK_Group] PRIMARY KEY CLUSTERED ( [Id] ASC ...
阅读全文
泛型-利用泛型交换两个变量的值
摘要:Console.WriteLine("利用泛型交换两个变量的值!");object a = "1", b = "2"; ;List list = new List() { "1", "2" }; list.ForEach(delegate(object o) { Console.WriteLine(o); });//list.ForEach(p => Console.WriteLine(p)); object temp = list[0];//交换元素定义临时变量 list.RemoveA
阅读全文
委托
摘要:1.1.1定义 委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值,如下面的示例所示://Code in C# publicdelegateint PerformCalculation(int x, int y); 与委托的签名(由返回类型和参数组成)匹配的任何方法都可以分配给该委托。 简单理解Delegate委托(或代理)是一种数据类型:它的变量可以引用到某一个符合要求的方法上,通过委托可以间接地调用该方法。 其实.NET的委托类似于C语言的函数指针,区别在于.NET委托是类型安全的,这说明,C中...
阅读全文
Linq知识大全
摘要:select的源码public static IEnumerable Select(this IEnumerable source, Func selector);class Program{static void Main(string[] args){ var customers = new[] { new { CustomerID = 1, FirstName = "Orlando", LastName = "Gee", CompanyName = "A Bike Store" }, new { CustomerID = 2,
阅读全文
c#集合解析
摘要:什么是集合(collection)?提供了一种结构化组织任意对象的方式,从.NET 的角度看,所谓的集合可以定义为一种对象,这种对象实现一个或者多个System.Collections.ICollection、 System.Collections.IDictionary和System.Collections.IList接口。这一定义把 System.Collections名称空间中的“内置”集合划分成了三种类别: * 有序集合:仅仅实现ICollection接口的集合,在通常情况下,其数据项目的插入顺序控制着从集合中取出对象的的顺序。 System.Collections.Stack和 S.
阅读全文
C# 3.0语言特性
摘要:开场白:本文为个人笔记,参考微软MVP自动属性(Auto-Implemented Properties)隐含类型局部变量(Local Variable Type Inference)扩展方法(Extension Methods)对象与集合初始化器(Object and Collection Initializers)匿名类型(Anonymous Types)Lambda表达式和Lambda表达式树 (Lambda Expression and Lambda Expression Trees)自动属性(Auto-Implemented Properties)在.Net2.0框架下,我们可以这样写
阅读全文
索引器
摘要:开场白:CLR提供了两种属性:无参属性和含参属性,在C#中,前者通常被称为属性(property),后者被称为索引器(indexer)索引器的定义-》 定义索引器的方式与定义属性有些类似,其一般形式如下:[修饰符] 数据类型 this[索引类型 index]{ get{//获得属性的代码} set{//设置属性的代码}} 修饰符包括 public,protected,private,internal,new,virtual,sealed,override, abstract,extern. 数据类型是表示将要存取的数组或集合元素的类型。 索引器类型表示该索引器使用哪一类型的索引来存取数...
阅读全文
winFrom打包
摘要:一、应用程序文件夹操作1、新建一个安装项目,起名“测试打包”这里要记住路径了,不然,打完了找不着安装包在哪里,可就说不过去了,呵呵!2、这里就会出现三个文件夹,不用多说一看就明白意思,点“应用程序文件夹-->添加-->文件夹这里的作用就是好管理,重启一下名字,这里我就叫它“测试打包系统”3、在“测试打包系统”文件夹上右键-->添加-->项目输出下一步:添加主输出一般这个就够了,当然你还有别的资源的话就要添加上去了!4、接下来在“应用程序文件夹”下依些建几个文件夹,我建了3个Images里我放的是图片,2个ICO和1个BMP,后面会用到!Unit放置卸载的文件,这里你记住
阅读全文
Random 种子问题
摘要:1:随机数生成器类 Random 是 .NET 的伪随机数生成器,要生成各种类型的随机数,必须先得到它的实例对象,然后再生成随机数2:种子随机数的生成是从种子值开始。 如果反复使用同一个种子,就会生成相同的数字系列,产生不同序列的一种方法是使种子值与时间相关3:对象实例默认情况下,Random 类的无参数构造函数使用系统时钟生成其种子值参数化构造函数可提供一个 Int32 类型的数字为起始值4:生成方案方案1:只实例化一个对象,多次方法调用view sourceprint?Random rnd = new Random(); int i1 = rnd.Next(10); int i2 = rn
阅读全文
c#事件,委托机制 这个例子非常好哦.提供源码,.一下子就了解了,还推荐去看 皮特的故事 要学委托 事件的话,
摘要:事件(event)是一个非常重要的概念,我们的程序时刻都在触发和接收着各种事件:鼠标点击事件,键盘事件,以及处理操作系统的各种事件。所谓事件就是由某个对象发出的消息。比如用户按下了某个按钮,某个文件发生了改变,socket上有数据到达。触发事件的对象称作发送者(sender),捕获事件并且做出响应的对象称作接收者(receiver),一个事件可以存在多个接受者。在异步机制中,事件是线程之间进行通信的一个非常常用的方式。比如:用户在界面上按下一个按钮,执行某项耗时的任务。程序此时启动一个线程来处理这个任务,用户界面上显示一个进度条指示用户任务执行的状态。这个功能就可以使用事件来进行处理。可以将处
阅读全文
C# 中object sender与EventArgs e
摘要:一、了解C#中的预定义事件处理机制 在写代码前我们先来熟悉.net框架中和事件有关的类和委托,了解C#中预定义事件的处理。 EventArgs是包含事件数据的类的基类,用于传递事件的细节。 EventHandler是一个委托声明如下 public delegate void EventHandler( object sender , EventArgs e ) 注意这里的参数,前者是一个对象(其实这里传递的是对象的引用,如果是button1的click事件则sender就是button1),后面是包含事件数据的类的基类。 下面我们研究一下Button类看看其中的事件声明(使用WinCV工具查看
阅读全文