
C#
文章平均质量分 59
sytWeibo
这个作者很懒,什么都没留下…
展开
-
Split 的几种使用方法
第一种方法: string s = "abcdeabcdeabcde"; string[] sArray = s.Split(c); foreach (string i in sArray) Console.WriteLine(i.ToString()); Console.Re转载 2009-06-22 15:11:00 · 1415 阅读 · 0 评论 -
匿名类和匿名方法
匿名类:•概念 –可以使用new { object initializer }或new[]{ object, …}来初始化一个匿名类或不确定类型的数组 –例如:var p1 = new { Id = 1, Name = “YJingLee”, Age = 22}p1是不存在的,没定义过的类型,是临时建立的。 •应用范围 –LINQ查询的结果返回到一个匿名类 –不需要到处定原创 2010-04-29 15:46:00 · 1367 阅读 · 0 评论 -
LinQ是什么?
LinQ是什么?•LINQ(发音:Link)是语言级集成查询(Language INtegrated Query) •LINQ是一种用来进行数据访问的编程模型,使得.NET语言可以直接支持数据查询 •LINQ的目标是降低访问数据的复杂度 •LINQ可以用统一的方法访问不同类型的数据,可以将数据作为对象使用 •能够更好地与编程模型集成 •可以在Visual Studio中进原创 2010-04-29 15:52:00 · 4981 阅读 · 4 评论 -
构造函数和析构函数
•构造函数 –构造函数一般定义问public,无需返回值 –base:用于引用父类构造函数 –this:用于引用已经存在的构造函数 –关于默认构造函数:如果不定义构造函数系统会自动产生默认空构造函数,如果已经定下构造函数需手工定义空构造函数 –可以有静态的构造函数,用于初始化静态成员 •析构函数 –用于释放资源 –析构函数不能被继承或重载。 –析构函数不能原创 2010-04-29 16:02:00 · 635 阅读 · 0 评论 -
抽象类 虚函数及重写 virtual override new
•virtual 用在基类中,指定一个虚方法(属性),表示这个方法(属性)可以重写。 •override 用在派生类中,表示对基类虚方法(属性)的重写。 •不能重写非虚方法或静态方法。重写的基方法必须是 virtual、abstract 或 override 的 •override 声明不能更改 virtual 方法的可访问性。override 方法和 virtual 方法必须具原创 2010-04-29 15:30:00 · 2513 阅读 · 0 评论 -
面向对象特征 & OO设计原则
•封装:也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏 •继承:是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展 –实现继承、接口继承和可视继承 •多态:允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的原创 2010-04-29 15:38:00 · 688 阅读 · 0 评论 -
扩展方法
•概念 –扩展方法使用上类似于静态方法,但在本质上其是实例方法。 –这是由于.NET3.5的运行环境仍然为CLR2.0所以语言不可能做很大的变革,这一切都是语法糖。 –扩展方法为一静态方法,声明于一个静态类,其参数前加上一个this关键字,参数的类型表示这个扩展方法要对这个类型进行扩展 •例如: 定义如下(代码表示其要对字符串类型进行扩展)public static原创 2010-04-29 15:45:00 · 637 阅读 · 0 评论 -
Lambda表达式和Lambda表达式树
•Lambda表达式概念 –“Lambda 表达式”是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型。 –Lambda表达式是对.NET2.0中匿名方法在语法形式上的进一步改进 var inString = list.FindAll(delegate(string s) { return s.Indexof("YJingLee") >= 0; }); –使原创 2010-04-29 15:49:00 · 5112 阅读 · 0 评论 -
静态方法和实例方法
l使用static修饰的方法称为静态方法l使用实例对象调用的方法叫做实例方法 注:静态类中只能包含静态成员原创 2010-04-29 16:00:00 · 821 阅读 · 0 评论 -
重复提交、重复刷新、防止后退的问题以及处理方式
一。前言你在任何一个比较专业的BBS都会看到这样的问题,即使你Google一下,也会发现有很多的人在关注和询问,但大家给出的解决方法却都是千差万别,(有的人主张采用脚本来解决;有的则想重定向到别的页面;有的则将此问题提升到Token的角度)为什么会有如此大的差异呢?二。问题场景首先,我们应该先了解为什么要处理这样的问题?或者专业一点就是它适合的场景是什么?(似乎只有人来问没有人来解释)1。重复提交转载 2010-04-30 14:59:00 · 854 阅读 · 0 评论 -
asp.net日期操作函数-得到某月的第一天和最后一天的日期
#region 得到一个月的第一天和最后一天的日期 /// /// 得到本月的第一天日期 /// /// DateTime public static DateTime GetFirstDayOfMonth() { return GetFirstDayOfMonth(DateTime.Now); } /// /// 得到本月的最有一天的日期 /// /// DateTime public原创 2010-05-06 16:38:00 · 1300 阅读 · 0 评论 -
C# 点击按钮浏览文件夹
C# 点击按钮浏览文件夹原创 2010-07-06 13:06:00 · 4901 阅读 · 0 评论 -
c#中 uint--byte[]--char[]--string相互转换汇总
c#中 uint--byte[]--char[]--string相互转换汇总原创 2010-07-07 13:18:00 · 795 阅读 · 0 评论 -
IE8下select出现bug解决
select控件在IE8下出现的bug(IE6、IE7都OK的) document.all.seltZw.add(window.Option(province[i], province[i]));改为-》document.getElementById("seltZw").add(new Option(province[i], province[i]));原创 2010-05-11 22:48:00 · 4144 阅读 · 0 评论 -
c# winform pictureBox显示图片,PictureBox控件的Image属性
c# winform pictureBox显示图片,PictureBox控件的Image属性原创 2010-07-07 10:10:00 · 3177 阅读 · 0 评论 -
winform 设置快捷键 触发事件 F1~F12
winform 设置快捷键 触发事件 F1~F12原创 2010-07-07 10:14:00 · 6124 阅读 · 0 评论 -
DataTable 添加空行
DataTable 添加空行原创 2010-07-13 17:10:00 · 8268 阅读 · 0 评论 -
自动属性
•简化了我们在.NET的时候手写一堆私有成员+属性的编程方式 •原先写法: public class Customer { private int _id; public int Id { get { return _id; } set { _id = value;原创 2010-04-29 15:44:00 · 598 阅读 · 0 评论 -
推断类型VAR(隐式类型)
•概念 –不是C#3.0中的一种新的类型,如int、string类型。 –var关键字指示编译器根据初始化右侧的表达式来推断变量类型,此工作在编译时完成 –推断类型可以是任何内置类型、匿名类型、用户定义类型、任何表达式 •例如:var str = "Hello World!";var arr = new[] { 0, 1, 2 };var aron = new { Name原创 2010-04-29 15:44:00 · 942 阅读 · 0 评论 -
类初始化器 (Initializers)
•来由 –在.NET2.0中构造一个对象的方法一是提供一个重载的构造函数,二是用默认的构造函数生成一个对象,然后对其属性进行赋值 –在.NET3.5/C#3.0中我们有一种更好的方式来进行对象的初始化 –类似于对象初始化器初始化一个对象,集合初始化器初始化一个集合,一句话,有了它你就不用在将元素通过Add逐个添加 –这个特性也是匿名类的一个基础 •基本用法: –Use原创 2010-04-29 15:43:00 · 728 阅读 · 0 评论 -
Invalidate() 方法
Control.Invalidate 方法使控件的特定区域无效并向控件发送绘制消息。重载列表使控件的特定区域无效并向控件发送绘制消息。受 .NET Framework 精简版的支持。[C#] public void Invalidate();[C++] public: void Invalidate();使控件的特定区域无效并向控件发送绘制消息。还可以使分配给该转载 2009-06-22 15:17:00 · 1560 阅读 · 0 评论 -
C#时间处理(DateTime和TimeSpan)
//取得某月的最后一天 //方法一:使用算出該月多少天,年+月+加上多少天即得,舉例取今天這個月的最后一天 private void GetLastDateForMonth(DateTime DtStart, out DateTime DtEnd) { int Dtyear, DtMonth; DtStart = DateTime.Now;转载 2010-01-15 16:21:00 · 1582 阅读 · 0 评论 -
RDLC报表(四)
RDLC报表中有一个概念叫数据区域(Data Region),数据区域是数据绑定的报表项目,在数据区域中可以显示来自数据集的多行数据。RDLC报表设计器中的数据区域包含控件面板上的一系列控件:List、Table、Matrix、Chart,如图所示, List控件的用处在于这是一个在其中可以自由安排像TextBox、Image等控件;Chart控件用于显示图表,和Exc转载 2010-04-13 15:11:00 · 875 阅读 · 0 评论 -
RDLC报表(六)
你可能已经注意到了在调用LocalReport的Render方法时用到了一个XML格式的DeviceInfo结构,在SQL Server 2005 Report Services中,DeviceInfo结构是为了给特定的呈现格式传递参数。来看一个简单的DeviceInfo结构: EMF 21cm 29.70cm 2cm 2cm 2cm 2cm 这个简单的DeviceInfo结构至少为LocalRe转载 2010-04-13 15:21:00 · 1589 阅读 · 0 评论 -
RDLC报表(一)
VS .NET开发中,用什么做报表? 可能的回答是Crystal Report,自.NET“紧密”集成Crystal Report后,这可能是开发人员比较单一的选择。但是,这种集成似乎并不非常紧密,网络上充斥着关于使用Crystal Report的抱怨,太复杂也许是其最为令人诟病的地方,自定义性比较差也不能为程序员们所容忍。 当然,必须承认Crystal Re转载 2010-04-13 14:50:00 · 712 阅读 · 0 评论 -
RDLC报表(三)
仔细想了一下,我觉得一篇step by step的随笔似乎是不必要的,由于RDLC报表设计时的简易性,任何有报表经验的人都可以在摸索后很容易就掌握其报表的设计方法。本来在这篇随笔中想谈一下对RDLC报表文件的解析,但是MISGoldPrinter的作者flygoldfish(长流支流)已经对这方面进行了详细的总结(见http://blog.youkuaiyun.com/flygoldfish/archive转载 2010-04-13 15:07:00 · 631 阅读 · 0 评论 -
RDLC报表(五)
随着Visual Studio 2005中文版的推出,Microsoft汉化了MSDN的大部分内容,开发者再也不用啃英文了,本来想介绍一下LocalReport的Render方法,现在您可以到http://msdn2.microsoft.com/zh-cn/library/ms252207(VS.80).aspx获得关于这部分的详细信息。之所以以前想介绍这个方法,是因为我将想大家介绍一种在Cry转载 2010-04-13 15:17:00 · 766 阅读 · 0 评论 -
asp.net(c#) static关键字用法小结
静态变量 当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用。 有时候,我们希望无论是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份,例如所有的中国人都有国家名称,每一个中国人都共享这个国家名称,不必在每一个中国人的实原创 2010-04-12 10:49:00 · 649 阅读 · 0 评论 -
RDLC报表(二)
要GotReportViewer的实例,请在下面的连接中下载:http://files.cnblogs.com/waxdoll/RDLC.rar 在这篇随笔中,我主要分析一下GotReportViewer上的几个经典例子,我们可以从中看到ReportViewer Control的强大功能: 1、Web Log Analyzer 这是一个转载 2010-04-13 14:54:00 · 1100 阅读 · 0 评论 -
.Net网站打包生成安装文件
如果想要将完成的网站部署到服务器中,可以使用 Microsoft Visual Web Developer Web 开发工具提供的“发布网站”实用工具。“发布网站”实用工具对网站中的页和代码进行预编译,然后将编译器输出写入指定的文件夹。然后可以将输出复制到目标 Web 服务器,并从目标 Web 服务器中运行应用程序。1.先决条件: 需要: Visual Web Developer。 Visu原创 2010-04-20 08:20:00 · 1924 阅读 · 0 评论 -
C# 中的委托和事件
源码下载:http://www.tracefact.net/SourceCode/Delegates-and-Events-in-CSharp.rarC# 中的委托和事件引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托转载 2010-04-21 11:11:00 · 593 阅读 · 0 评论 -
何时使用委托而不使用接口
委托和接口都允许类设计器分离类型声明和实现。给定的接口可由任何类或结构继承和实现;可以为任何类中的方法创建委托,前提是该方法符合委托的方法签名。接口引用或委托可由不了解实现该接口或委托方法的类的对象使用。既然存在这些相似性,那么类设计器何时应使用委托,何时又该使用接口呢?在以下情况中使用委托:当使用事件设计模式时。当封装静态方法可取时。当调用方不需要访问实现原创 2010-04-21 15:20:00 · 698 阅读 · 0 评论 -
泛型
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Collections;namespace MyConsole{ class Program { static void Main(string[] args) {原创 2010-04-21 15:52:00 · 505 阅读 · 0 评论 -
正则表达式 教程
如何使用本教程别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并没有你想像中的那么困难。当然,如果你看完了这篇教程之后,发现自己明白了很多,却又几乎什么都记不得,那也是很正常的——我认为,没接触过正则表达式的人在看完这篇教程后,能把提到过的语法记住80%以上的可能性为零。这里只是让你明白基本的原理,以后你还需要多练习,多查资料,才能熟练掌握正则表达式。除了作为入门转载 2010-04-23 10:48:00 · 630 阅读 · 0 评论 -
[Serializable] 在C#中的作用-NET 中的对象序列化
[Serializable]在C#中的作用-NET 中的对象序列化简介序列化是指将对象实例的状态存储到存储媒体的过程。在此过程中,先将对象的公共字段和私有字段以及类的名称(包括类所在的程序集)转换为字节流,然后再把字节流写入数据流。在随后对对象进行反序列化时,将创建出与原对象完全相同的副本。在面向对象的环境中实现序列化机制时,必须在易用性和灵活性之间进行一些权衡。只要您对此过程有足转载 2010-04-23 10:46:00 · 554 阅读 · 0 评论 -
接口和抽象类的区别
接口定义: interface ISpeaker { void Speak(); } •1.一个接口定义了一个契约。•2.接口可以包容方法、C#属性、事件、以及索引器。•3.在一个接口声明中,我们可以声明零个或者多个成员。•4.所有接口成员的默认访问类型都是public。•5.如果在接口成员声原创 2010-04-29 15:21:00 · 785 阅读 · 0 评论 -
NOT IN 方法改进
NOT IN 方法改进原创 2010-07-13 17:11:00 · 1316 阅读 · 1 评论