代码改变世界

随笔档案-2012年05月

C# 关于方法中的参数(可选参数和命名参数)

2012-05-31 10:56 by Andrew.Wangxu, 3589 阅读, 收藏, 编辑
摘要: 在阅读《CLR via C#(第三版)》第191页中看到方法参数的用法,这里将书本中的内容挑选一些关键的记录下来,内容如下: 设计一个方法的参数时,可为部分或全部参数分配默认值。然后,调用这些方法的代码可以选择不指定部分实参,接受其默认值。除此之外,调用方法时,还可通过指定参数名称的方式为其传递实参。以下代码演示了可选参数和命名参数的用法: 阅读全文

C# 中的拓展方法,以StringBuilder加上IndexOf方法举例

2012-05-30 20:32 by Andrew.Wangxu, 2867 阅读, 收藏, 编辑
摘要: 大家都知道StringBuilder是处理字符串的首选,我不太明白为什么StringBuilder提供的方法竟然比string类要少,挺奇怪。 废话不多说,直接图文跟着走吧。 上图先(我写好的拓展方法): 阅读全文

C#中的不同类型之间的显式与隐式转换实现

2012-05-30 16:02 by Andrew.Wangxu, 603 阅读, 收藏, 编辑
摘要: 在项目中可能经常遇到不同类型之间的转换, 如 int转换为byte double转换为int。 那么这些显式或隐式转换是如何实现的呢,下面也是以User对象举例。 首先贴上来User.cs的所有属性 阅读全文

在C#中的operator重载操作符

2012-05-30 15:01 by Andrew.Wangxu, 4017 阅读, 收藏, 编辑
摘要: 业务需求: 在程序中要求将两个用户的用户名和他们的持有金额的相加,如何来实现呢? 一般实现如下: User user1 = new User(); user1.Name = "张三"; user1.Money = 20; User user2 = new User(); user2.Name = "李四"; user2.Money = 15; //将两个对象相加,得到用户名和金额合计 User user3 = new User(); user3.Name = user1.Name +","+ user2.Name; user3.Money = user1.Money + user2.Money; //打印结果: //user3.Name :“张三,李四” //user3.Moeny:“35”; 试想,能不能将user3那三行代码改为: User user3 = user1 + user2; 阅读全文

在C#中的一个类型定义,可能包含的所有成员

2012-05-30 13:22 by Andrew.Wangxu, 342 阅读, 收藏, 编辑
摘要: 以下代码展示了一个类型定义,其中包含了所有可能的成员。这段代码会通过编译(会显示一些警告),但它并不能代表你平常创建的类型,其中大多数方法没有实用价值。这里仅仅是为了列举出来而已,有遗漏的话 希望园友们提示一下,我会追加上。。 谢谢了。。 阅读全文

关于C#的dynamic类型,简单演示及说明

2012-05-30 11:06 by Andrew.Wangxu, 2408 阅读, 收藏, 编辑
摘要: 在阅读《CLR via C# (第三版)》第132页看到dynamic这个类型,感觉挺有用的。 记录下来日后查用以及跟园友们分享,内容如下: 为了方便开发人员使用反射或者与基本组件通信,C#编译器允许将一个表达式的类型标记为 dynamic。还可以将一个表达式的结果放到一个变量中,并将变量的类型标记为dynamic。然后,可以用这个 dynamic 表达式/变量调用一个成员,比如字段、属性/索引器、方法、委托以及一元/二元/转换操作符。代码用 dynamic 表达式/变量来调用一个成员时,编译器会生成特殊的 IL 代码来描述所需的操作。这种特殊的代码成为 payload(有效载荷)。在运行时,payload 代码根据当前由 dynamic 表达式/变量引用的对象的实际类型来决定具体执行的操作。 阅读全文

C# 多个(N个)ListBox之间的拖动方法

2012-05-25 11:16 by Andrew.Wangxu, 1161 阅读, 收藏, 编辑
摘要: 需求说明:在窗体界面中有多个ListBox要实现之间的数据拖动,下面是封装的一个方法,实现N个ListBox的数据拖放操作。 可任意拖放数据到任意的ListBox 附上截图、代码、示例项目文件: 阅读全文

在VS中折叠所有代码或展开所有代码

2012-05-24 10:59 by Andrew.Wangxu, 977 阅读, 收藏, 编辑
摘要: Ctrl-M-O 折叠所有方法Ctrl-M-L展开所有方法Ctrl-M-P 展开所有方法并停止大纲显示(不可以再折叠了)Ctrl-M-M 折叠或展开当前方法参考:http://www.wxzzz.com/?id=93 阅读全文
点击右上角即可分享
微信分享提示