文章分类 - C#
摘要:在C#WINFORM或者是ASP.NET的WEB应用程序中,根据各种定时任务的需求,比如:每天的数据统计,每小时刷新系统缓存等等,这个时候我们得应用到定时器这个东东。.NET Framework有自带的timer,但这个类只能完成一些简单的定时操作,比如间隔多久执行什么操作。遇到一些复杂的定时任务,...
阅读全文
摘要:private string HttpPost(string Url, string postDataStr) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); ...
阅读全文
摘要:readonly修饰符用来表示只读,const用来表示不变常量。顾名思义,只读表示不能进行写操作;不变常量不能被修改。这两者到底有什么区别呢(1) readonly和const都是用来标示常量的。(2) 初始化赋值不同。const修饰的常量必须在声明的同时赋值。例如:复制代码代码如下:public ...
阅读全文
摘要:Linq中连接主要有组连接、内连接、左外连接、交叉连接四种。本文主要讲解没连接和左外连接。本次使用到的数据实体模型具体的创建方法不再累述。该实体模型中包括Student、Course两个表,他们之间是一对多的关系。一、内连接内连接与SqL中inner join一样,即找出两个序列的交集 ...
阅读全文
摘要:DateTime.Ticks 属性获取表示此实例的日期和时间的计时周期数。属性值类型:System.Int64表示此实例的日期和时间的计时周期数。该值介于DateTime.MinValue.Ticks和DateTime.MaxValue.Ticks之间。备注每个计时周期表示一百纳秒,即一千万分之一秒...
阅读全文
摘要:可空类型用途主要是从数据库读取数据有可能为空,而不是插入使用,插入数据都要进行验证,如果要插入数据库的null,则使用DBNull.value判断取出的数据是否为数据库中的null,如果是则赋值给可空的datetime类型的Lockdatatime 属性tseat.Lockdatatime = reader.IsDBNull(5) ? null : (DateTime?)reader.GetDateTime(5);判断取出的数据是否为数据库中的null,如果是则赋值给可空的int类型的Testint 属性tseat.Testint = reader.IsDBNull(6) ? null : (
阅读全文
摘要:一、传递参数 既可以通过值也可以通过引用传递参数。通过引用传递参数允许函数成员(方法、属性、索引器、运算符和构造函数)更改参数的值,并保持该更改。二、传递值类型参数 值类型变量直接包含其数据,这与引用类型变量不同,后者包含对其数据的引用。因此,向方法传递值类型变量意味着向方法传递变量的一个副本。方法内发生的对参数的更改对该变量中存储的原始数据无任何影响。如果希望所调用的方法更改参数的值,必须使用ref或out关键字通过引用传递该参数。为了简单起见,下面的示例使用ref。 1.通过值传递值类型: 代码 Code highlighting produced by Actipro CodeHi...
阅读全文
摘要:比如说int吧,是值类型,是个struct,是这样声明的public struct Int32 : IComparable, IFormattable, IConvertible, IComparable<int>, IEquatable<int>哪能看出来继承自ValueType?? 再说struct不是不能继承吗?为什么说继承自ValueType??不解。。。。回答:ValueType的确是类类型,但是他的子类却是值类型,这是因为CLR对他的子类经过了特殊的处理.CLR若判断某类继承自ValueType,那么会在内存分配方面使它具有值类型的特征(例如直接分配在栈上)
阅读全文
摘要:一、获取当前文件的路径1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName获取模块的完整路径,包括文件名。2. System.Environment.CurrentDirectory获取和设置当前目录(该进程从中启动的目录)的完全限定目录。3. System.IO.Directory.GetCurrentDirectory() 获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,有可能程序放在C:\www里,这个函数有可能返回C:\Documents and Settings\ZYB\,或者C:\P
阅读全文
摘要:有经验的开发人员都知道在开发.NET应用时可以利用配置文件保存一些常用并且有可能变化的信息,例如日志文件的保存路径、数据库连接信息等等,这样即使生产环境中的参数信息与开发环境不一致也只需要更改配置文件而不用改动源代码再重新编译,极其方便。并且我们一般还约定,在<appSettings>节点保存应用程序的配置信息,在<connectionStrings>中保存数据库连接字符串信息(详见本博客《ASP.NET夜话之十一》)。上面的这些方法和约定足以让我们在大部分开发中获得方便,但是在有些情况下有些配置信息可以按组分类存放,如果采用上面的方法不仅不直观,而且读取起来也不是太方
阅读全文
摘要://英文单词:根据正则获取privatestaticintGetWordCountByRegular(stringstr){//统计英文单词个数Regexre=newRegex(@"\b\w+\b");MatchCollectionma=re.Matches(str);returnma.Count;}//数字publicstaticintGetNumberCount(stringstr){intcount=0;for(inti=0;i<str.Length;i++){if(str[i]!='\0'){if(str[i]>='0'&
阅读全文
摘要:位操作符是对数据按二进制位进行运算的操作符。位操作是其他很多语言都支持的操作,如C、C++和Java等,C#也不例外支持位操作。注意位操作支持的数据类型是基本数据类型,如byte、short、char、int、long等,C#支持的位操作有如下几种:按位与 &按位或 |按位取反 ~左移 <<右移 >>异或^在C#中位操作同C的位操作没有什么区别,位操作的速度相对较快,而且如果熟练的话,处理起来也相对方便,特别是在一些权限等相关的设置中,比如:用1、2、4、8、16、32、64分别代表查看、添加、编辑、修改、删除、审批等权限值的时候,如果某个用户的最终权限是多种权
阅读全文
摘要:将字符串转换为ASCII编码数组,只要是中文字节码就是ASCII编码63即"?",所以可以由此来进行判断classStringOP{///<summary>///获取中英文混排字符串的实际长度(字节数)///</summary>///<paramname="str">要获取长度的字符串</param>///<returns>字符串的实际长度值(字节数)</returns>publicintgetStringLength(stringstr){if(str.Equals(string.
阅读全文
摘要:FileStream对象表示在磁盘或网络路径上指向文件的流。这个类提供了在文件中读写字节的方法,但经常使用StreamReader或 StreamWriter执行这些功能。这是因为FileStream类操作的是字节和字节数组,而Stream类操作的是字符数据。字符数据易于使用, 但是有些操作,比如随机文件访问(访问文件中间某点的数据),就必须由FileStream对象执行文件位置 FileStream类维护内部文件指针,该指针指向文件中进行下一次读写操作的位置。在大多数情况下,当打开文件时,它就指向文件的开始位置,但 是此指针可以修改。这允许应用程序在文件的任何位置读写,随机访问文件,或直..
阅读全文
摘要:对流进行操作时要引用 using System.IO; 命名空间 FileStream常用的属性和方法:属性:CanRead 判断当前流是否支持读取,返回bool值,True表示可以读取CanWrite 判断当前流是否支持写入,返回bool值,True表示可以写入方法:Read() 从流中读取数据,返回字节数组Write() 将字节块(字节数组)写入该流Seek() 设置文件读取或写入的起始位置Flush() 清除该流缓冲区,使得所有缓冲的数据都被写入到文件中Close() 关闭当前流并释放与之相关联的所有系统资源文件的访问方式:(FileAccess)包括三个枚举:FileAccess.Re
阅读全文
摘要:开发过程中,我们往往需要大量与文件交互,读文件,写文件已成家常便饭,本地运行完美,但一上到投产环境,往往会出现很多令人措手不及的意外,或开发中的烦恼,因此,我对普通的C#文件操作做了一次总结,问题大部分如下:1:写入一些内容到某个文件中,在另一个进程/线程/后续操作中要读取文件内容的时候报异常,提示System.IO.IOException: 文件“XXX”正由另一进程使用,因此该进程无法访问此文件。2:在对一个文件进行一些操作后(读/写),随后想追加依然报System.IO.IOException: 文件“XXX”正由另一进程使用,因此该进程无法访问此文件。次问题与1相似。3:对一个文件进行
阅读全文
摘要:一样的多态多态(Polymorphism)一词源于生物学,顾名思义就是指多种形态。在面向对象世界里,多态与继承和封装一起构成了三大核心概念。在.NET中,多态通常意味着子类对于父类一种衍变。子类继承自父类,拥有父类所定义的一切(public或protected)成员。但同时,它又可以修改(重写或复写)这些成员,使其实现与父类以及其他子类完全不同。我们可以说,继承体现了类的多态性。大家应该很熟悉Duck的例子了吧?public abstract class Duck{ public abstract void Quack();}public class MallardDuck : Duck...
阅读全文
摘要:人类是一个类,你是一个具体人.......你不能在街上裸奔,所以得用衣服封装起来..........当然了,你不会蒙面(又不是去抢银行的),脸露出来的话就是公有属性的了...很显然,某些地方就是私有的了然后当你挂了后,你的遗产得给你的后代,你的遗产对外不公开,对自己的后代公开,那就是保护的.......你的一个恐龙同事向你借钱,你不给.......你的一个漂亮同事向你借钱,你给了.......这叫多态
阅读全文
摘要:最近项目中用到了SQL Server Express这个版本,和SQL Server的其他版本不同的是,SQL Server Express是一个免费的数据库引擎,但又比Access或者SQL CE更强大,安装好之后会有一个独立的数据库引擎服务,而且数据库体积允许达到4GB。在一些中小型企业内部系统中还是可以用的SQL Server Express有一个User Instance的新特性,简单地说,允许当前用户不是管理员身份情况下也能使用它。有兴趣的朋友,可以参考下面的链接http://msdn.microsoft.com/zh-cn/library/ms254504.aspx摘自MSDN:用
阅读全文
摘要:C#事件访问器我们可以通过为事件定义事件访问器,来控制事件运算符+=、-=运算符的行为有两个访问器:add和remove声明事件的访问器看上去和声明一个属性差不多下面示例演示了具有访问器的声明.两个访问器都有叫做value的隐式值参数,它接受实例或静态方法的引用publiceventEventHandlerElapsed{add{//...执行+=运算符的代码}remove{//...执行-=运算符的代码}}声明了事件访问器后,事件不包含任何内嵌委托对象.我们必须实现自己的机制来存储和移除事件的方法事件访问器表现为void方法,也就是不能使用会返回值的return语句完整示例: //声明一个d
阅读全文