随笔分类 -  C#

摘要:这么简单的问题,我都忘记了,不知道你们还记得吗,希望你们都还记得?using System;public class Test{ public static void Main() { string str1 = "abced.,.某某某"; int len2 = str1.Length; int leng = System.Text.Encoding.Default.GetBytes(str1.ToCharArray()).Length; Console.WriteLine(... 阅读全文
posted @ 2013-05-22 11:47 aehyok 阅读(18248) 评论(2) 推荐(0) 编辑
摘要:前言对于这转换其实很简单,其中最重要的就是先要引用类库。可以到官网进行下载引用http://json.codeplex.com。前两天学习了Jquery ajax提交Json后台处理文章链接为http://www.cnblogs.com/aehyok/archive/2013/05/18/3085499.htmlXML转换为Json字符串 string xml = @"<?xml version=""1.0"" standalone=""no""?> <root> <pers 阅读全文
posted @ 2013-05-21 13:50 aehyok 阅读(12568) 评论(1) 推荐(2) 编辑
摘要:造成此错误常常是将日期加载到了DataSet,而不能转换。可以看到上述日期字符串当中18后面存在一个空格,就是这个空格导致的不是一个有效的AllXsd值。想让此字符串日期转换为有效的格式,可以用T来替换掉18后面的空格。在程序中可以这样处理。首先可以看到已经获取到了一个字符串格式的日期。然后可以通过DateTime.Parse将字符串转换为日期格式类型。最后将日期格式通过如上转换即可得到想要的字符串日期了。你也可以直接用date.ToString("s"),同样可以得到想要的结果。接下来就可以顺利的将其转换到DataSet数据集中了。下面来了解一下DateTime.ToSt 阅读全文
posted @ 2013-05-18 10:25 aehyok 阅读(6003) 评论(0) 推荐(0) 编辑
摘要:前言catch 和 finally 一起使用的常见方式是:在 try 块中获取并使用资源,在 catch 块中处理异常情况,并在 finally 块中释放资源。Catch catch 这将捕获任何发生的异常。 catch(Exception e) 这将捕获任何发生的异常。另外,还提供e参数,你可以在处理异常时使用e参数来获得有关异常的信息。 catch(Exception的派生类 e) 这将捕获派生类定义的异常,例如,我想捕获一个无效操作的异常,可以如下写: catch(InvalidOperationException e) { .... } 这样,如果try语句块中抛出的异常是Inv... 阅读全文
posted @ 2013-05-17 22:32 aehyok 阅读(1304) 评论(0) 推荐(0) 编辑
摘要:前言根据上一节中http://www.cnblogs.com/aehyok/archive/2013/05/02/3054615.html对多线程的入门了解。本节就来探讨一下简单的使用多线程。使用多线程 线程用Thread类来创建, 通过ThreadStart委托来指明方法从哪里开始运行,下面是ThreadStart委托如何定义的:public delegate void ThreadStart();调用Start方法后,线程开始运行,线程一直到它所调用的方法返回后结束。下面是一个例子,使用了C#的语法创建TheadStart委托: class Program { ... 阅读全文
posted @ 2013-05-02 22:10 aehyok 阅读(1089) 评论(2) 推荐(0) 编辑
摘要:前言C#支持通过多线程并行地执行代码,一个线程有它独立的执行路径,能够与其它的线程同时地运行。一个C#程序开始于一个单线程,这个单线程是被CLR和操作系统(也称为“主线程”)自动创建的,并具有多线程创建额外的线程。简单示例说明这里的一个简单的例子及其输出 static void Main(string[] args) { System.Threading.Thread thread = new System.Threading.Thread(WriteY); thread.Start(); while... 阅读全文
posted @ 2013-05-02 14:33 aehyok 阅读(1291) 评论(0) 推荐(1) 编辑
摘要:1、DateTime 数字型 System.DateTime currentTime=new System.DateTime();1.1 取当前年月日时分秒 currentTime=System.DateTime.Now;1.2 取当前年 int 年=currentTime.Year;1.3 取当前月 int 月=currentTime.Month;1.4 取当前日 int 日=currentTime.Day;1.5 取当前时 int 时=currentTime.Hour;1.6 取当前分 int 分=currentTime.Minute;1.7 取当前秒 int 秒=currentTime. 阅读全文
posted @ 2013-04-08 22:20 aehyok 阅读(609) 评论(2) 推荐(1) 编辑
摘要:如果您现在对反射还不太了解的话,那么可以先看看这篇博文,来粗略的了解一下反射吧。什么是反射 反射特性(Attribute) 1. C#内置特性介绍 特性是一个对象,它可以加载到程序集及程序集的对象中,这些对象包括 程序集本身、模块、类、接口、结构、构造函数、方法、方法参数等,加载了特性的对象称作特性的目标。特性是为程序添加元数据(描述数据的数据)的一种机制,通过它可以给编译器提供指示或者提供对数据的说明。注意:特性的英文名称叫做Attribute,在有的书中,将它翻译为“属性”;另一些书中,将它翻译为“特性”;由于通常我们将含有get和/或set访问器的类成员称为“属性”(英文Prope... 阅读全文
posted @ 2013-03-27 21:48 aehyok 阅读(1234) 评论(0) 推荐(2) 编辑
摘要:首先我们可以先来了解下什么是反射 Reflection,中文翻译为反射。 这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’、‘模块(Module)’、‘类型 (class)’组成,而反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组成部分的相关信息,例如: Assembly类可以获得正在运行的装配件信息,也可以动态的加载装配件,以及在装配件中查找类型信息,并创建该类型的实例。Type类可以获得对象的类型信息,此信息包含对象的所有要素:方法、构造器、属性等等,通过Type类可以得到这些要素的信息,并且调用之。MethodInfo包含方 阅读全文
posted @ 2013-03-25 16:25 aehyok 阅读(1889) 评论(6) 推荐(1) 编辑
摘要:前些日子,简单的熟悉和了解了一下委托,因为自己之前也没接触过委托,所以就上网搜罗了一下,并简单的记录和实践了一下,并将此记录在了博客园里了。今天正好有空,就再来回顾一下,慢慢了看了一下还是感觉像是新知识,虽然脑子里隐隐约约的有了一些印象。C#委托一 (委托基础) C#委托二 (委托类型)通过委托基础简单的对委托进行了了解,然后定义了简单的委托,通过委托实现两个数值之间比较大小。然后对委托类型进行初步的了解。C#委托三 (多播委托)多播委托就是通过委托可以依次的执行我们预先定义好的方法。C#委托四 (匿名方法)匿名方法就好像是没有方法,当一个方法很少使用,或者方法体很短的话可以使用,并且在C#3 阅读全文
posted @ 2013-03-22 21:32 aehyok 阅读(1694) 评论(1) 推荐(2) 编辑
摘要:运用泛型和反射实现的转换,很给力。代码中掺杂详尽注释,稍微了解一下泛型和反射便可以了解转换的实质。可以直接复制粘贴进行调用哦。publicclassDtConverToList<T>whereT:new(){publicstaticList<T>DtToList(DataTabledt){//定义集合List<T>ListCollection=newList<T>(dt.Rows.Count);//获得T模型类型TypeT_type=typeof(T);//获得T模型类型公共属性PropertyInfo[]Proper=T_type.GetPro 阅读全文
posted @ 2013-03-02 18:23 aehyok 阅读(1465) 评论(0) 推荐(1) 编辑
摘要:事件:"在发生其他类或对象关注的事情时,类或对象可以通过事件通知他们。发送(或引发)事件的类称为"发行者",接受(或处理)事件的类称为"订户"。"上面这句话描述了事件的最本质功能,用于底层通知上层。正常的架构设计都是分层结构,而分层结构有一点很重要的就是底层对于上层的无知,当初这样设计是为了解耦,为了更好的面向对象,但是带来的问题是如何解决自下而上的信息流。因为自上而下的调用,我们通过接口就可以搞定一切了,上层可以看到下层提供的服务接口,那么正常的调用可以保证一路向下,底层调用中层提供的服务接口,中层的服务接口的实现中调用了底层的服务 阅读全文
posted @ 2013-02-22 17:10 aehyok 阅读(1621) 评论(2) 推荐(3) 编辑
摘要:什么是匿名方法?匿名方法是C#2.0引入的一个新特性,它允许开发者声明自己的函数代码而无须使用委托函数。C#为委托提供一种机制,可以为委托定义匿名方法,匿名方法没有名称,编译器会定指定一个名称,匿名方法中不能使用跳转语句跳转到该匿名方法的外部,也不能跳转到该方法的内部。也不能在匿名方法外部使用的ref和out参数。通过使用匿名方法,可以不必创建单独的方法,因此减少了实例化委托所需的编码系统开销。例如,如果创建方法所需的系统开销是不必要的,则指定代码块(而不是委托)可能非常有用。什么时候该使用匿名方法1.需要一个临时方法,该方法使用次数极少;2.这个方法的代码很短,甚至可能比方法声明都短的情况下 阅读全文
posted @ 2013-02-22 12:20 aehyok 阅读(990) 评论(0) 推荐(1) 编辑
摘要:有的时候,我们想要调用一个委托,但同时可以执行多个方法(自定义事件中最为常见),比如,一个工作文档生成之后,系统要将生成文档日志,而且还要被保存到数据库中,对于以上二个操作,如果只想调用一个委托,就可以顺序完成,那么使用多播委托,就可以实现。如果调用多播委托,就可以按顺序连续调用多个方法。为此,委托的签名就必须返回 void (否则,返回值应送到何处?)(当委托只包含一个方法的时候,其返回类型的声明可以参照所封装的方法,不一定必须是void)。实际上,如果编译器发现某个委托返回 void ,就会自动假定这是一个多播委托。多播委托(MulticastDelegate)提供了一种类似于流水线式的钩 阅读全文
posted @ 2013-02-21 11:21 aehyok 阅读(2826) 评论(5) 推荐(2) 编辑
摘要:我们都应该清楚,在使用委托之前,先要定义一个委托类型,如下所示:delegate int MyDelegate(int a,int b);MyDelegate md =null;既然叫做委托类型,就说明MyDelegate实际上是一个类,上面的写法只是一种简单的缩略写法,实际上,我们自己定义的委托,都是继承自System.MulticastDelegate类的.可以发现还存在4个方法,一个是构造函数。MulticastDelegate类MultiDelegate类是一个特殊类(Special Class),和System.Delegate类一样,该类只能够被编译器以及内置的工具类所继承,我们自 阅读全文
posted @ 2013-02-20 21:01 aehyok 阅读(1395) 评论(0) 推荐(2) 编辑
摘要:委托可以这样来理解:它是一种数据类型,和引用类型类似,不过和一般的类相比,委托的实例不是在堆中的数据,而是一个方法。委托类似于引用类型,和C++中的函数指针很相似,但是不同之处就在于,它不是存在于堆中的。正是有了委托我们才得以将函数打包成一个变量进行传递。这就是说,我们不止能够将数据作为参数传递,还可以将一个函数作为参数进行传递,这样就可以在需要的时候方便的进行控制的反转(Ioc,控制反转)。代码下载地址下面写一个简单的实例进行理解:两个数求其中的较大值、较小值。 /// /// 两个数求较大值 /// /// ///... 阅读全文
posted @ 2013-02-20 16:19 aehyok 阅读(1517) 评论(0) 推荐(3) 编辑
摘要:1.从System.String[]转到List<System.String> List<System.String> List = new List<System.String>(); string[] str={"1","2","3"}; List = new List<System.String>(str);2.从List<System.String>转到System.String[] List<System.String> List = new List& 阅读全文
posted @ 2012-12-03 12:12 aehyok 阅读(2115) 评论(4) 推荐(4) 编辑
摘要:1.dynamic关键字用于声明一个动态对象,然后通过该动态对象去调用方法或读写属性。以前我们都是在运行时通过反射,Emit,CodeDom等技术来完成。创建一个dynamic类型的对象需要使用一个特殊的构建器叫ExpandoObject。 dynamic aehyok = new ExpandoObject(); aehyok.Name = "aehyok"; aehyok.Age = "24"; aehyok.Position = "ASP.NET"; Console.WriteL... 阅读全文
posted @ 2012-11-23 16:16 aehyok 阅读(811) 评论(6) 推荐(2) 编辑