随笔分类 -  C#

摘要:最近看架构师用Lambda表达式很舒服,很简洁,于是抽空看了下,其实很简单的 目录: 1.匿名方法2.匿名方法与Lambda区别 3.使用Lambda表达式 开始学习啦。。。。。。。 一,匿名方法 有些方法很少被委托以外的任何程序调用,从生产效率来讲,手工定义一个这样的方法有点繁琐,不是很受欢迎,为了解决这个 情况。现在可以在事件注册时直接将一个委托与一段代码相关联,这种代码的正式名称为匿名方法。 示例: List<int> list = new List<int>(); list.AddRange(new int[] { 20, 1, 4, 8, 9, 44 }); 阅读全文
posted @ 2013-05-12 17:44 --中庸-- 阅读(4869) 评论(0) 推荐(0)
摘要:很久没有写文章了,最近看了点书,有点小感悟,写出来,以纪念曾逝去的青春,纯属自娱,写的有不对的地方,望各位同仁批评指正。目录: 1.普通调用与回调 2.用委托实现回调 3.委托与事件进入正题。一,普通调用与回调普通调用,也是我们最常用的调用,往往是高层代码(应用程序)调用低层的函数(如系统函数,库函数等)。 回调(callback),指的是可以作为参数传给其他代码的一段可执行代码.回调时,则是在低层函数执行时调用高层的代码。 如果高层和低层分别是一个实体的话,那么普通调用实现的是上调用下,回调实现的是下调用上,这样就实现了高层与低层之间的 双向通信。 回调举例: 如果我们用js异步调用web. 阅读全文
posted @ 2013-05-12 16:56 --中庸-- 阅读(273) 评论(0) 推荐(0)
摘要:一.理论 Attribute在msdn中被翻译成属性,我感觉不太适合.我更赞成前辈王涛(<你必须知道的.net>的作者)对之的称呼--特性. 看过王涛前辈的书,记得王涛前辈对特性做过这样的描述: 特性attribute,本质上是一个类,其为目标元素提供关联附加信息, 并在运行期以反射的方式来获取附加信息.感觉不太全面.但目前还没有太多时间找相关的资料,所以姑且先这样认为. 二.示例 0.示例方案图 1.自定义Attribute(DefaultAttribute.cs)using System;using System.Collections.Generic;using System 阅读全文
posted @ 2011-10-23 19:13 --中庸-- 阅读(340) 评论(0) 推荐(0)
摘要:曾碰到一情况,一个页面上要显示四种类型的数据,当时时间紧就采用了比较笨的方法,采用了四个Repeater来实现,切换起来总是感觉不爽.偶抽空就查了下资料,改编了MSDN的一些例子.实现了动态生成Repeater模板的功能. 一.自定义模板代码View Code 1 public class RepeaterTemplate:ITemplate 2 { 3 private ListItemType templateType; 4 private IList<String> headerNames; 5 private IList<Str... 阅读全文
posted @ 2011-10-13 20:33 --中庸-- 阅读(923) 评论(0) 推荐(0)
摘要:前些天,做过自定义app.config节点的小测试.今天看的时候,把无关的代码去掉,用最少的代码说明问题.以下实例是通过继承ConfigurationSection实现的一.效果如下<?xml version="1.0" encoding="utf-8"?><configuration> <configSections> <section name="CustomSection" type="CustomSectionTest.CLSCustomSection, CustomSect 阅读全文
posted @ 2011-10-07 18:47 --中庸-- 阅读(2175) 评论(0) 推荐(0)
摘要:搞软件差不多的都知道,经常用到DataTable到实体类的转换,常用的就是利用列名或索引一列一列给实体赋值,如果列少还行,列多的话,真是烦死人,而且容易出错.偶也常被困扰.早就写这样的方法.却一直没有时间,前几天忙里偷闲,参考一些资料,改编了别人的一些方法,现分享如下: 1.DataTable到List的转换 public static List DataTableToT(DataTable source) where T : class, new() { List itemlist = null; if (source == null || source.Rows.Count == 0) . 阅读全文
posted @ 2011-09-28 09:55 --中庸-- 阅读(2547) 评论(2) 推荐(0)
摘要:一.理论 COM(componet object model)组件对象模型,,它是一种特殊的dll,只不过,我们通过给普通的dll制定复杂的com协议,设置一些机制,改变了重用的方法,以一种新的方法来利用dll,来克服dll本身固有的缺陷(函数重命名问题,路径问题,与exe的依赖问题,编译器对函数的名称修饰不兼容等问题)。二.示例 这是本人参考网上资料实验的一个例子,拿出来与大家分享,仅用来学习。 1.建项目(类库) 如图: 2.代码编写如上图: 3.公开 一个允许 与托管应用程序进行交互的 COM 对象 如上图 4.程序集对Com可见 编译一下,至此简单测试COM已经做好。 代码简单不在做详 阅读全文
posted @ 2011-04-26 18:22 --中庸-- 阅读(685) 评论(0) 推荐(0)
摘要:其中一种用途:数据库中的int类型可以为空 在C# 中的处理为int?限制:T必须为值类型,为引用类型没有意义 范围:可空类型可以表示其基础值类型正常范围内的值,再加上一个 null 值。基本属性:NullableT 结构的两个基础成员为 HasValue和 Value属性。如果 NullableT) 对象的 HasValue属性为 true,则可以使用 Value属性访问该对象的值。如果 HasValue属性为 false,则表示尚未定义该对象的值,并且尝试访问 Value属性时会引发异常 阅读全文
posted @ 2011-01-13 14:46 --中庸-- 阅读(442) 评论(0) 推荐(0)
摘要:看到网上很多这方面的文章,感觉大多数都是把MSDN上的示例简单更改拿出来,然后发表自己的看法,鄙人暂时也没有想到好办法,也只好走原路。遇到问题: 自定义类型的数组,一般情况下是不支持foreach的,如何让自定义类型的数组支持foreach呢?解决方法: 让自定义类型的数组支持foreach,只要让其他类型(以下示例用这种方法比如:我想让Person类支持foreach,就让People类型实现IEnumerable,然后将定义好的数组传进来,就可以支持foreach了,如下代码)或者自定义类型实现(我猜测微软对某个类型的定义可能是按这种方法如:String实现了接口IEnumerable 如 阅读全文
posted @ 2011-01-07 12:09 --中庸-- 阅读(420) 评论(0) 推荐(0)
摘要:在很多对象显示为字符串的时候都会使用到ToString中的格式化,由于以前没怎么注意到这个问题,想总结一下各个基础结构对象的格式化,以便后备之用!!!格式说明符说明示例输出C货币2.5.ToString("C")¥2.50D十进制数25.ToString("D5")00025E科学型25000.ToString("E")2.500000E+005F固定点25.ToString("F2")25.00G常规2.5.ToString("G")2.5N数字2500000.ToString("N")2,500,000.00X十六进制255.ToString("X")FFDateTime.ToString 阅读全文
posted @ 2011-01-06 10:12 --中庸-- 阅读(286) 评论(0) 推荐(0)
摘要:C#3.0扩展方法是给现有类型添加一个方法。现在类型既可是基本数据类型(如int,String等),也可以是自己定义的类。 //Demo--1//扩展基本类型namespace TestExtensionMethods{// 必须建一个静态类,用来包含要添加的扩展方法public static class Extensions{//要添加的扩展方法必须为一个静态方法//此方法参数列表必须以this开始 第二个即为要扩展的数据类型,在这里就是要扩展string类型//第三个就无所谓了,就是一对象名,名字随便,符合命名规则即可//综合来讲,此方法就是要给string类型添加一个叫TestMetho 阅读全文
posted @ 2011-01-04 14:52 --中庸-- 阅读(191) 评论(0) 推荐(0)