之乎者也,阿弥陀佛

软件设计的原则就是,化繁为简,化难为易,把人的思维集中在简单的领域,然后通过有序的组合实现复杂的逻辑。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  341 随笔 :: 0 文章 :: 76 评论 :: 62万 阅读

随笔分类 -  C#基础

摘要:1、 Math.Round(0.333333,2);//按照四舍五入的国际标准 2、 doubledbdata=0.335333;stringstr1=String.Format("{0:F}",dbdata);//默认为保留两位 3、 floati=0.333333;intj=(int)(i*100);i=j/100; 4、 decimal.Round(decimal.Parse("0.3333333"),2) 5、 privateSystem.Globalization.NumberFormatInfonfi=newSystem.Globaliz.. 阅读全文
posted @ 2012-06-18 14:25 搏击的小船 阅读(310) 评论(0) 推荐(0) 编辑

摘要:目前网上流行的所谓“取真实IP地址”的方法,都有bug,没有考虑到多层透明代理的情况。 多数代码类似:stringIpAddress=(HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]!=null&&HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]!=String.Empty)?HttpContext.Current.Request.ServerVariables[&q 阅读全文
posted @ 2011-04-21 18:04 搏击的小船 阅读(1970) 评论(2) 推荐(0) 编辑

摘要:一、什么是委托?委托类型声明的格式如下://申明委托publicdelegatevoidTestDelegate(stringmessage);1.delegate 关键字用于声明一个引用类型,该引用类型可用于封装命名方法或匿名方法。委托是类型安全和可靠的。2.委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值,如下面的示例所示:3.委托具有以下特点: 委托类似于 C++ 函数指针,但它是类型安全的。 委托允许将方法作为参数进行传递。 委托可用于定义回调方法。 委托可以链接在一起;例如,可以对一个事件调用多个 阅读全文
posted @ 2010-12-12 23:17 搏击的小船 阅读(305) 评论(0) 推荐(0) 编辑

摘要:usingSystem.Linq; /// <summary> /// 获取一个类指定的属性值 /// </summary> /// <param name="info">object对象</param> /// <param name="field">属性名称</param> /// <returns></... 阅读全文
posted @ 2010-11-08 15:37 搏击的小船 阅读(2690) 评论(1) 推荐(0) 编辑

摘要:问题:XML的一个字符串:“我爱 \r\n 大中国”把这个字符串读入到C#中输出,换行就是失败了,但是如果直接把这段话放到程序里,就可以换行解决办法:将字符串\\r\\n 替换为C#识别的换行符XmlDocument doc = new XmlDocument();doc.Load(@"G:\test.xml");String x = doc.SelectSingleNode("//root").InnerText;x = x.Replace("\\r\\n", Environment.NewLine); 阅读全文
posted @ 2010-06-17 17:35 搏击的小船 阅读(3137) 评论(0) 推荐(0) 编辑

摘要:BlackPhoenix著于发表 2008-2-19C#中国身份证验证,包括省份验证和校验码验证,符合GB11643-1999标准... 今天写的 C#中国身份证验证,包括省份验证和校验码验证,符合GB11643-1999标准... 理论部分: 15位身份证号码=6位地区代码+6位生日+3位编号 18位身份证号码=6位地区代码+8位生日+3位编号+1位检验码 各省市地区国家代码前两位代码是: ... 阅读全文
posted @ 2010-06-10 11:48 搏击的小船 阅读(596) 评论(0) 推荐(0) 编辑

摘要:Demo: public static T ToEnum<T>(this string name) { return (T)Enum.Parse(typeof(T), name); } public enum MyTestEnum { One=1, Two=2, Three=3 } static void Main() { string enumMemberName="One... 阅读全文
posted @ 2010-05-24 17:58 搏击的小船 阅读(4050) 评论(0) 推荐(1) 编辑

摘要:1、将预见可能引发异常的代码包含在try语句块中。2、如果发生了异常,则转入catch的执行。catch有几种写法:catch这将捕获任何发生的异常。catch(Exception e)这将捕获任何发生的异常。另外,还提供e参数,你可以在处理异常时使用e参数来获得有关异常的信息。catch(Exception的派生类 e)这将捕获派生类定义的异常,例如,我想捕获一个无效操作的异常,可以如下写:catch(InvalidOperationException e){ ....}这样,如果try语句块中抛出的异常是InvalidOperationException,将转入该处执行,其他异常不处... 阅读全文
posted @ 2010-02-14 00:47 搏击的小船 阅读(12721) 评论(0) 推荐(5) 编辑

摘要:1、不要硬编string/ numeric,可以使用一些常量代替。 (提高可读性) intCount;Count=100;privatestaticconstintZERO=0;if(Count==ZERO){//执行一些操作} 2、对于字符串比较-使用String. Empty ,而不是""。 3、不要声明成员变量为public 或者proteted,尽量使用private 成员变量和pub... 阅读全文
posted @ 2010-01-23 02:02 搏击的小船 阅读(239) 评论(0) 推荐(0) 编辑

摘要:以前一直用 var query = xxx.Select(c=>new {c.X,c.Y}); 来取表中的某二列字段,今天有个应用需要转成Dictionary<T,U>,很少这样使用,居然忘记了写法!回忆了半天终于写对了,贴在这里备个份,方便以后查找:[代码]//如果觉得上面的写法太复杂,还可以简化为//Dictionary<Guid, int> dic = lst.... 阅读全文
posted @ 2010-01-04 15:27 搏击的小船 阅读(1020) 评论(0) 推荐(0) 编辑

摘要:C#追加文件 StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt"); sw.WriteLine("追逐理想"); sw.WriteLine("kzlll"); sw.WriteLine(".NET笔记"); sw.Flush(); sw.Close();C#拷贝文件 string OrignFile,NewFil... 阅读全文
posted @ 2009-12-21 18:38 搏击的小船 阅读(502) 评论(0) 推荐(0) 编辑

摘要:序列化和反序列化我们可能经常会听到,其实通俗一点的解释,序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用。 我想最主要的作用有: 1、在进程下次启动时读取上次保存的对象的信息 2、在不同的AppDomain或进程之间传递数据 3、在分布式应用系统中传递数据 ...... 在C#中常见的序列化的方法主要也有三个:BinaryFormatte... 阅读全文
posted @ 2009-12-19 18:50 搏击的小船 阅读(382) 评论(0) 推荐(0) 编辑

摘要:一、什么是多态 面向对象程序设计中的另外一个重要概念是多态性。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。可以把一组对象放到一个数组中,然后调用它们的方法,在这种场合下,多态性作用就体现出来了,这些对象不必是相同类型的对象。当然,如果它们都继承自某个类,你可以把这些派生类,都放到一个数组中。如果这些对象都有同名方法,就可以调用每个对象的同名方法。 同一操作作用于不同的对象,可以有不... 阅读全文
posted @ 2009-12-16 00:47 搏击的小船 阅读(251) 评论(0) 推荐(0) 编辑

摘要:大家都容易把这两者搞混,我也一样,在听李建忠老师的设计模式时,他也老把抽象类说成接口,弄的我就更糊涂了,所以找了些网上的资料. 一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。 二、接口: 接口是引用类型的,类似于类,和抽象类的相似之处有三点:1、不能实例化; 2、包含未实现的方法声明; 3、派生类必须实现未实现的方法,抽象类是抽象方法,接口则 阅读全文
posted @ 2009-12-16 00:41 搏击的小船 阅读(233) 评论(0) 推荐(0) 编辑

摘要:首先声名一个函数,定义如下  public bool CheckUser(string UserName, out string PassWord, out int State)  {   if ( UserName == "123" )   {   PassWord = "456";   State = 0;   }   else   {   PassWord = "";   State = 1... 阅读全文
posted @ 2009-12-16 00:13 搏击的小船 阅读(435) 评论(0) 推荐(0) 编辑

摘要:首先,如果不使用这两个关键字,那是什么样 呢?看下面的例子:使用ref:using System; class Test {     static void Swap(ref int x, ref int y)     {         int temp = x;         x = y;         y = temp;     }         static void Main() ... 阅读全文
posted @ 2009-12-15 23:34 搏击的小船 阅读(1120) 评论(1) 推荐(0) 编辑

摘要:①什么是反射?反射提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例(见④ ),将类型绑定到现有对象(这个不会),或从现有对象中获取类型(见②③ )。然后,可以调用类型的方法或访问其字段和属性。最最简单的反射:如下using System;using System.Reflection;namespace TestReflecti... 阅读全文
posted @ 2009-12-14 22:40 搏击的小船 阅读(318) 评论(0) 推荐(0) 编辑

摘要:在C#中,ref与out是很特殊的两个关键字。使用它们,可以使参数按照引用来传递。总的来说,通常我们向方法中传递的是值.方法获得的是这些值的一个拷贝,然后使用这些拷贝,当方法运行完毕后,这些拷贝将被丢弃,而原来的值不将受到影响.此外我们还有其他向方法传递参数的形式,引用(ref)和输出(out).有时,我们需要改变原来变量中的值,这时,我们可以向方法传递变量的引用,而不是变量的值.引用是一个变量,... 阅读全文
posted @ 2009-12-07 14:15 搏击的小船 阅读(279) 评论(0) 推荐(0) 编辑

摘要:1. 简述 private、 protected、 public、 internal 修饰符的访问权限。答 . private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 在同一命名空间内可以访问。2 .列举ASP.NET 页面之间传递值的几种方式。 答. 1.使用... 阅读全文
posted @ 2009-11-18 22:40 搏击的小船 阅读(261) 评论(0) 推荐(0) 编辑

摘要:1.NameValueCollection 和 HashTable的定义散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。HashTable 表的优点:HashTable是System.Collections命名空间提供的一个容器,HashTable中的key/value均为object类型,所以HashTable可以支持任何类型的key/value键/值对。优点就在于其索引的方式,速度非常快。NameValueC 阅读全文
posted @ 2009-10-18 11:15 搏击的小船 阅读(366) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示