论C#中的委托与事件
论海顿《c小调钢琴奏鸣曲》(hob
论海顿《c小调钢琴奏鸣曲》(hob.xvi20)第一乐章中力度的
运用
海顿的《c小调钢琴奏鸣曲》(hob.xvi20)第一乐章中,力度的运用是非常精致的。
从开头的柔和的音乐开始,力度的变化就开始出现,从柔和的音乐变成激烈的音乐,再变成柔和的音乐,再变成激烈的音乐,这样的变化使得乐曲变得更加生动有趣。
在乐曲的中段,力度的变化更加明显,从柔和的音乐变成激烈的音乐,再变成柔和的音乐,再变成激烈的音乐,这样的变化使得乐曲变得更加生动有趣。
最后,力度的变化又回到了柔和的音乐,使得乐曲有一种完美的结束感。
总之,海顿在这首乐曲中运用力度的变化,使得乐曲变得更加生动有趣,也使得乐曲有一种完美的结束感。
概率论组合c的计算公式
概率论组合c的计算公式好嘞,以下是为您生成的文章:在咱们的数学世界里,概率论组合 C 这个家伙,有时候还真能把人给绕晕喽。
不过别担心,今儿咱就来好好唠唠它的计算公式。
咱先来说说组合 C 到底是个啥。
就好比说,从一堆苹果里选几个出来,有多少种不同的选法,这就要用到组合 C 啦。
那组合 C 的计算公式是啥呢?它是 C(n, m) = n! / [m!(n - m)!] 。
这里面的“!”是阶乘的意思,比如说 5! 就是 5×4×3×2×1 。
举个例子哈,假如有 5 个不同的玩具,咱要从中选 2 个,那组合数C(5, 2) 就等于 5! / (2!×(5 - 2)!) 。
算一下,5! 是 120 ,2! 是 2 ,3! 是 6 ,所以 C(5, 2) = 10 ,也就是有 10 种不同的选法。
我记得之前有一次,我在给学生们讲这个知识点的时候,有个小家伙一脸懵地看着我,说:“老师,这也太复杂啦,我咋觉得脑袋里像缠了一团乱麻。
”我笑着跟他说:“别着急,咱们一步一步来。
” 然后我就带着他们从最简单的例子开始,一个一个地分析,慢慢地,那小家伙的眼睛亮了起来,还兴奋地跟我说:“老师,我好像有点明白了!” 看到他那恍然大悟的样子,我心里可别提多有成就感了。
咱们再深入聊聊这个公式的应用。
比如说抽奖,有 20 个人参加抽奖,奖品有 5 个,那中奖的组合数有多少种呢?这时候用组合 C 就能算出来啦。
还有在排列组合的问题里,如果不考虑顺序,只是选出来,那组合C 就是咱们的得力助手。
比如说从 10 本书里挑 3 本,不管挑出来的顺序如何,只要是这 3 本,那就是一种组合。
总之啊,概率论组合 C 的计算公式虽然看起来有点复杂,但只要咱们多练习,多琢磨,就能把它拿下。
就像那句话说的,世上无难事,只怕有心人。
相信大家都能在数学的海洋里畅游,把组合 C 玩得团团转!。
C理论
第六,对业绩考核和价值观考核中出现的问题,要通过人力资源总监,直接而且明确地告诉员工;
第七,提出公司使命,提升员工的崇高感;
第八,将员工业绩分为五个等级,最后一个等级的前10%要辅导和训诫,最后的10%可以视为塑造失败,予以淘汰,塑造失败既是员工个人的原因,也有公司事先甄别不力的原因,公司要妥善处理,从优辞退。 由马钧和梅朝荣在《铁幕战略》一书中提出。
第一,聘用员工要进行背景调查,进行严格的甄别,杜绝有历史问题的员工进入公司大门;
第二,拆分业务相同部门,让部门之间产生竞争和制衡关系;
第三,为员工提供高于行业平均25%—50%报酬,以加强企业对员工的驱动力;
第四,通过旋转考核,使同级员工形成相互监督机制;
中国著名经济学家茅于轼对C理论的评价:C理论是这个时代最符合人性的理论。
概率论C和A计算公式
概率论C和A计算公式
C表示组合方法的数量,A表示排列方法的数量。
如果该题中选出的个体没有先后顺序就用组合,如果有先后顺序就用排列。
C表示组合方法的数量
比如:C(3,2),表示从3个物体中选出2个,总共的方法是3种,分别是甲乙、甲丙、乙丙(3个物体是不相同的情况下)。
A表示排列方法的数量。
比如:n个不同的物体,要取出m个(m<=n)进行排列,方法就是A(n,m)种。
也可以这样想,排列放第一个有n种选择,,第二个有n-1种选择,,第三个有n-2种选择,·····,第m个有n+1-m种选择,所以总共的排列方法是n(n-1)(n-2)···(n+1-m),也等于A(n,m)。
注:在具体题目中,看题目需要排列还是组合,也就是单体是否需要顺序,需要就用A,不需要就用C。
贝叶斯定理机率论或概率论是研究随机性或不确定性等现象的数学。
更精确地说,机率论是用来模拟实验在同一环境下会产生不同结果的情状。
典型的随机实验有掷骰子、扔硬币、抽扑克牌概率论以及轮盘游戏等。
感谢您的阅读,祝您生活愉快。
对于c,φ值的讨论和认识
收稿日期:20180809 作者简介:谢 潇(1992),女,硕士
第20441卷8年第1209期月 谢 潇:对于 c,φ值的讨论和认识1 内部因素
影响 c,φ值的内部因素包括土体的含水率、干密度、结构、颗 粒形状、级配、矿物成分等。
(1.陕西省土地工程建设集团责任有限公司,陕西 西安 710075; 2.陕西地建土地工程技术研究院有限责任公司,陕西 西安 710075; 3.国土资源退化及未利用土地整治工程重点实验室,陕西 西安 710075; 4.陕西省土地整治工程技术研究中心,陕西 西安 710075)
摘 要:粘聚力 c和内摩擦角 φ是岩土体的两个非常重要的参数,在工程设计中得到了广泛的应用。c,φ分别代表着岩土体的摩
2.2 三轴剪切试验
三轴剪切试验即三轴压缩实验,三轴仪组成见图 3。据固结
和排水条件的差异,试验可分为以下三种: 不固结水排水剪试验(UU):试验过程中,关闭压力室的排水
阀门,保持 没 有 水 排 出,可 测 得 孔 压 的 变 化。固 结 不 排 水 试 验
土体含水率发生 变 化,会 使 得 结 合 水 膜 厚 度 发 生 变 化,并 且 对颗粒之间的摩擦强度有影响。当土体含水率增大时,结合水膜 增厚,同时减小土 颗 粒 之 间 的 摩 擦。据 以 往 的 研 究 成 果,随 着 含 水率的增大,粘聚力和内摩擦角均呈减小的趋势。且含水率对粘 聚力的影响明显,对内摩擦角的影响较小[3]。
擦强度和粘结强度,虽然这两个参数是由试验得出的曲线人为定义的,但土的粘结强度和摩擦强度是真实存在的,因而这两个参
数具有其实际意义。从 c,φ的含义、确定方法、影响因素和两者之间的联系对土体的粘聚力和内摩擦角进行了讨论。
论贝多芬《c大调回旋曲》op.51 no.1的曲式结构
论贝多芬《c大调回旋曲》op.51 no.1的曲式结构
贝多芬的C大调回旋曲(作品51第1号)采用了多小节形式的曲式结构,主要构成元素有主题、变奏和一个后奏。
1. 主题:曲调开始于柔和的C大调,经过三段不同旋律和变奏的发展,最终形成了一个优美的歌曲。
2. 变奏:第一段以第一主题的几何结构节奏为基础,第二段和第三段的变奏有着很大的不同,呈现出复杂而细腻的旋律,而随后的变奏更是运用一下技巧:加强对之前的旋律的引申及其进行折衷处理,铺垫出此回旋曲的奇妙的结构形态。
最后,变奏与主题相结合,完美诠释了作曲家的创意。
3. 后奏:最后一段后奏将所有的变奏和主题紧紧连接在一起,并向前推进着曲调,使其更加丰富多彩。
最终形成了一曲完美的音乐体验。
概率论公式c
概率论公式c概率论是一门充满神秘和趣味的学科,其中的公式 c 更是有着独特的魅力。
先来说说概率论里这个公式 c 到底是啥。
简单来讲,它通常指的组合数公式,也就是从 n 个不同元素中取出 m 个元素的组合数,用C(n,m) 来表示。
组合数公式是 C(n,m) = n! / [m! (n - m)!] 。
这里面的“!”表示阶乘,比如说 5! = 5 × 4 × 3 × 2 × 1 。
记得我上大学那会儿,有一次概率论的考试。
那时候大家都紧张得不行,都在拼命复习各种公式。
考试的时候,有一道题就用到了这个组合数公式 c 。
题目是这样的:一个班级里有 20 个同学,要选出 5 个同学参加比赛,问有多少种选法?我当时心里一紧,赶紧在草稿纸上写下组合数公式,开始计算。
手心里都是汗呀,就怕算错了。
我先算20 的阶乘,再算 5 的阶乘和 15 的阶乘,然后按照公式一步步算。
最后得出答案的时候,心里那个踏实哟。
那为啥要学这个组合数公式c 呢?其实在生活中好多地方都能用到。
比如说买彩票,虽然咱不提倡靠这个发财哈,但从概率的角度去想想,为啥中奖那么难,这里面就有组合数的道理。
再比如,公司要从一堆方案里选几个出来实施,也得用到组合数来算算有多少种选择的可能。
还有啊,我们在玩游戏的时候也能碰到。
比如说打牌,你想想,从一副牌里选出特定的几张牌能有多少种组合,这里面就藏着组合数公式的影子。
回到学习上,要想把这个公式 c 掌握好,得多做练习题。
别光死记硬背公式,得理解它的原理。
可以从简单的例子入手,像从 3 个苹果里选 2 个,自己动手算算,感受一下这个过程。
而且,和同学一起讨论也很有帮助。
有时候自己想不明白的地方,别人一句话可能就给你点透了。
总之,概率论公式 c 虽然看起来有点复杂,但只要我们用心去学,多练习多思考,就能把它拿下,让它成为我们解决问题的有力工具。
就像我那次考试一样,只要认真对待,就能得出满意的答案。
c语言毕业设计论文
c语言毕业设计论文C语言毕业设计论文引言:计算机科学与技术专业的毕业设计是学生在大学期间的重要任务之一。
毕业设计旨在让学生运用所学知识,解决实际问题,并展示他们的技能和创造力。
在计算机科学领域,C语言是一门广泛应用的编程语言,因此选择C语言作为毕业设计的编程语言是一种常见的选择。
本文将探讨C语言毕业设计论文的一些主题和方法。
一、选择一个合适的C语言毕业设计题目选择一个合适的毕业设计题目是非常重要的,它应该与计算机科学领域相关,并且有一定的挑战性。
对于C语言毕业设计,可以考虑以下几个方向:1. 数据结构和算法:设计一个高效的数据结构或算法,并实现它。
例如,可以设计一个快速排序算法或一个图的最短路径算法。
2. 系统开发:开发一个实用的系统,如学生管理系统、图书管理系统等。
使用C语言编写系统的各个模块,并进行整合。
3. 游戏开发:设计一个有趣的游戏,并使用C语言实现游戏的逻辑和图形界面。
例如,可以设计一个简单的俄罗斯方块游戏或一个迷宫游戏。
二、进行需求分析和设计在开始编写代码之前,需要进行需求分析和设计。
需求分析是指明确毕业设计的目标和功能,确定所需的输入和输出。
设计是指根据需求分析的结果,设计程序的结构和模块。
1. 需求分析:明确毕业设计的目标和功能。
例如,如果设计一个学生管理系统,需要明确系统的功能,如添加学生信息、查询学生信息等。
2. 设计程序结构:将程序分为模块,并定义它们之间的接口。
例如,对于学生管理系统,可以设计一个学生信息模块和一个查询模块。
三、编写C语言代码在进行编码之前,需要了解C语言的基本语法和编程规范。
以下是一些编写C语言代码的基本步骤:1. 定义变量:根据设计,定义所需的变量。
例如,对于学生管理系统,可以定义学生姓名、学号等变量。
2. 编写函数:根据设计,编写各个模块的函数。
例如,对于学生信息模块,可以编写添加学生信息的函数和查询学生信息的函数。
3. 调试和测试:在编写代码的过程中,需要进行调试和测试。
概率论中c几几的公式
概率论中c几几的公式概率论中的“C 几几”公式,那可是个相当有趣且实用的家伙!咱先来说说这“C 几几”到底是啥。
它其实叫组合数公式,简单来讲就是从 n 个不同元素中取出 m 个元素的组合数。
用公式表示就是C(n,m) = n! / [m!(n - m)!] 。
给您举个例子,比如咱班要选 3 个同学去参加数学竞赛,咱们班一共有10 个同学,那有多少种选法呢?这时候就用到“C 几几”的公式啦。
咱算算,C(10, 3) = 10! / [3!(10 - 3)!] = 120 种。
是不是感觉还挺神奇的?我记得有一次,学校组织运动会,每个班级要选出 5 名同学参加接力赛。
我们班当时有 20 个同学都特别积极想参加。
这可把体育老师难住了,到底该选哪 5 个呢?这时候就轮到“C 几几”公式大显身手啦。
体育老师拿着笔在本子上一通算,C(20, 5) = 15504 种组合方式。
老师都忍不住感叹,选择太多啦,不过最后还是根据同学们平时的体育成绩和短跑能力,选出了最合适的 5 位同学。
再来说说这公式在生活中的其他应用。
比如您去抽奖,奖池里有100 个号码,您只能选 10 个,那您中奖的组合方式就可以用“C 几几”来算。
还有,您去买水果,有 8 种水果,您只想挑 4 种带回家,这挑选的方法数也能用这个公式算出来。
学习“C 几几”公式的时候,可别被那些复杂的符号和式子吓到。
就像咱们解决一道数学难题,一步一步来,总能找到答案。
总之,概率论中的“C 几几”公式虽然看起来有点复杂,但只要您多琢磨,多练习,就会发现它在解决很多实际问题时特别有用。
它就像一把神奇的钥匙,能帮我们打开很多未知的大门,探索更多有趣的世界。
所以呀,别害怕它,和它交个朋友,让它为您的学习和生活增添更多的乐趣和便利!。
论的详细解释
论的详细解释
论是一种论述方式,它通过对事物的分析、研究和评价,表达出作者的观点、立场和主张。
论的特点包括以下几点:
1. 针对性:论通常针对某一具体问题或现象进行深入探讨,具有一定的针对性和目的性。
2. 逻辑性:论要求作者在论述过程中有清晰的逻辑结构和严谨的论证过程,使读者能够理解和接受作者的观点。
3. 客观性:论要求作者在论述过程中保持客观公正的态度,避免带有主观偏见和情绪色彩。
4. 论证性:论通常需要通过事实、数据、理论等论证手段来支持作者的观点,使论述更具说服力。
5. 结论性:论在论述过程中通常会得出一个明确的结论,为读者提供解决问题的思路和方法。
论的应用范围非常广泛,可以用于学术论文、工作报告、演讲稿、评论文章等多种场合。
在写作过程中,作者需要注意论题的选择、论
点的表达、论证的严密性和结论的明确性等方面的问题,以提高论述的质量和效果。
c类论证评价题
c类论证评价题
C类论证评价题是一种针对论证的逻辑和结构进行评估的问题。
这类问题要求评价论证的合理性和有效性,主要考察的是批判性思维和逻辑推理能力。
在解答C类论证评价题时,需要仔细阅读题目中给出的论证,并分析其论点、论据和论证过程。
然后,需要评估这些论证是否符合逻辑规则和推理原则,是否提供了足够的证据支持其结论,以及是否存在逻辑上的缺陷或错误。
例如,一个C类论证评价题可能是这样的:“请评价以下论证的有效性:所有动物都是脊椎动物,猫是动物,因此猫一定是脊椎动物。
”在评估这个论证时,需要确定其论点是“所有动物都是脊椎动物”,论据是“猫是动物”,论证过程是“因此猫一定是脊椎动物”。
然后,需要分析这个论证是否符合逻辑规则和推理原则,即是否从论据合理地推出了论点。
在这个例子中,论证是有效的,因为所有动物都是脊椎动物,而猫是动物,因此猫一定是脊椎动物。
总的来说,C类论证评价题是一种考察批判性思维和逻辑推理能力的题目类型,需要仔细阅读和分析论证的内容,评估其合理性和有效性。
c语言毕业论文
c语⾔毕业论⽂C语⾔是⼀门⾯向过程的、抽象化的通⽤程序设计语⾔,⼴泛应⽤于底层开发。
C语⾔能以简易的⽅式编译、处理低级存储器。
C语⾔是仅产⽣少量的机器语⾔以及不需要任何运⾏环境⽀持便能运⾏的⾼效率程序设计语⾔。
以⼀个标准规格写出的C 语⾔程序可在包括类似嵌⼊式处理器以及超级计算机等作业平台的许多计算机平台上进⾏编译。
c语⾔毕业论⽂1 ⼀、研究背景及研究意义 信息技术的快速发展加速了教育信息化的进程,在线教育系统与测试系统的出现为学⽣提供了⼀个可以提⾼和检测综合能⼒的便捷途径。
另⼀⽅⾯,C语⾔教学在各⼤⾼校中都是必修课程之⼀,且在计算机相关课程教学中,针对某个理论性的知识点的考察,⼀般会以客观题的形式给出。
由于答案具有唯⼀性,通过简单得匹配⽅式便能识别正确与否从⽽给出相应成绩。
针对这类客观题的⾃动评分技术已经相当成熟,因此后续在⾃动评分⽅向的研究中主要集中于主观题的⾃动评判。
在过去⼏年的积极探索阶段到现有的实际研究成果来看,有关C语⾔知识的检测中对编程题的考察是必不可少的。
虽然检测的形式各不相同(填写空缺代码块完成完整程序,按题⽬要求编写整个程序),但终究是为了考察学⽣掌握编程技巧及编程思想的程度。
本课题研究的主要⽬的是结合编程实现的特征,为⼀个正在初始运营中的在线测试平台提供⼀个能查重与⾃动评分的功能模块。
其中最终评分包括两个部分,⼀是对每个学⽣提交的程序代码⽂件相互之间进⾏相似度检测,当相似度超过预定阈值作为抄袭处理,此为查重检测。
⼆是将学⽣程序与模板程序匹配检测相似度并由此计算最终得分。
程序语⾔与⾃然语⾔在各⾃适⽤领域上有较⼤差异,其语⾔虽然都有词法、语法规则等,但编写程序语⾔时并没有⾃然语⾔那么的灵活,不会出现⼀词多义,⼀义多词,他只有固定的关键字,标识符编写规则,功能实现结构等,所以较于⾃然语⾔来说识别起来要容易⼀些。
国内外对编程题相似度检测及⾃动评分都有不少的研究,现也有⼀些系统⽐较成熟。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
论C#中的委托与事件
在C#里,委托与事件类是两个不易理解的概念。
主要阐述对委托与事件的理解,同时结合Observer设计模式与.NET Framework规范,针对生活中的案例来辨析委托与事件的应用。
标签:委托;事件Observer设计模式;.NET Framework
C#中的委托类似于C++中的函数指针,功能却更多。
事件是在委托的基础上的一种结构,类似于委托的变量,在界面的控件中处处都有应用。
1 什么是委托
委托的申明格式:修饰符delegate 返回值数据类型委托名(形参列表)。
例如:Delegate int AbcDel(string s, bool b);是一个委托申明,每一个委托都有自己的签名,就是说AbcDel这个委托有string 和bool类型的形参,返回一个int类型数据,即具有这样的函数签名。
委托类似于函数指针,它能够引用函数,通过传递地址的机制完成。
委托是一个类,当对它实例化时,要提供一个引用函数,将其作为它构造函数的参数。
例如:private int AbcFun (string str, bool bln){},则可以把这个函数传给AbcDel的构造函数,因为它们签名一致。
AbcDel sd = new SomeDelegate(AbcFun),sd 引用了AbcFun,也就是说,AbcFun已被sd所登记注册,如果你调用sd,AbcFun这个函数即会被调用。
2 事件的理解
事件的申明格式:修饰符event 委托名事件名;
例如:public event AbcDel Boil;//AbcDel为委托名
Boil事件的声明与之前委托变量sd的声明唯一的区别是多了event关键字。
声明事件类似于声明一个委托类型的变量。
3 Observer设计模式
假设热水器系统由两部分组成:热水器、警报器,由不同厂商进行了组装。
热水器仅负责烧水;警报器在水烧开时发出警报,当水温超过95度,就发出警报。
我们需要应用委托与事件来模拟此过程。
Observer设计模式是为了定义对象间的一种一对多的依赖关系,以便于当一个对象的状态改变时,其他依赖于它的对象会被自动告知并更新。
Observer模式是一种松耦合的设计模式。
它包括两类对象:
Subject:监视对象,它包含其他对象感兴趣的内容。
热水器是一个监视对象,它包含temprature字段,当它>95时,会不断把数据发给监视它的对象。
Observer:监视者,它监视Subject,当Subject中的某件事发生时,会告知Observer,Observer即采取相应行动。
Observer就是警报器。
在本例中,事情发生的顺序如下:
警报器告诉热水器,它对它的温度感兴趣(注册)。
热水器知道后保留对警报器的引用。
热水器进行烧水这一动作,当水温超过95度时,通过对警报器的引用,自动调用警报器的MakeAlert()方法。
代码如下:
Heater类:
private int temperature;
public delegate void BoilHandler(int param);//声明委托
public event BoilHandler BoilEvent; //声明事件
public void BoilWater() { for (int i = 0; i 95) {if (BoilEvent != null) {//如果有对象注册
BoilEvent(temperature) ;} } }//调用所有注册对象的方法
Alarm类:public void MakeA lert(int param) {//…输出水温}
主函数主要代码如下:
heater.BoilEvent += alarm.MakeAlert;//注册方法
heater.BoilWater();//烧水,会自动调用注册过的方法
输出:Alarm:嘀嘀嘀,水已经96度了:
Alarm:嘀嘀嘀,水已经97度了:// ...
4 Net Framework中的委托与事件
上面的代码很好地完成了工作,但.Net Framework中事件模型有所不同,.Net Framework的编码规范如下:
(1)委托类型名称都以EventHandler结束;
(2)委托的原型定义:返回值void,接受两个输入参数:一个Object 类型,一个EventArgs类型(或继承自EventArgs,但类型名要以EventArgs结尾);
(3)事件的命名:委托去掉EventHandler之后剩余的部分。
委托声明原型中的Object类型的参数代表了Subject,即监视对象,在本例中是Heater。
回调函数(Alarm的MakeAlert)可以通过它访问触发事件的对象(Heater)。
EventArgs对象包含了Observer感兴趣的数据,即temperature。
上面这些不仅是为了编码规范,也使程序更灵活。
将热水器的引用传给警报器的方法,就可以直接访问热水器的温度、型号等。
按.Net Framework改写此例:
Heater类代码如下:
public string type = “RealFire 001”;//型号
public delegate void BoiledEventHandler(Object sender, BoliedEventArgs e);
public event BoiledEventHandler Boiled;
public class BoliedEventArgs : EventArgs { //定义BoliedEventArgs类,
public readonly int temperature;//传递给observer所感兴趣的信息
public BoliedEventArgs(int temperature) {this.temperature = temperature; }}
protected virtual void OnBolied(BoliedEventArgs e) {
if (Boiled != null) { Boiled(this, e); // 调用所有注册对象的方法} }
public void BoilWater() {
for (int i = 0; i 95) {
BoliedEventArgs e = newBoliedEventArgs(temperature);OnBolied(e); }}}
Alarm类代码如下:
public void MakeAlert(Object sender, Heater.BoliedEventArgs e) {
Heater ht = (Heater)sender;Console.WriteLine(“Alarm:{0},嘀嘀嘀,水已经{1}度
了!”, ht.type,ht.temperature) ;}//访问公共字段
主函数除了事件名有所改变,其它代码同上。
输出为:Alarm:RealFire 001,嘀嘀嘀,水已经96度了!//省略..
5 结束语
在本文中我首先说明了我对委托与事件的理解。
接下来通过一个热水器系统的范例,结合Observer设计模式中与委托、事件,用代码实现了这个例子,随后结合此例讲述了.Net Framework中委托、事件的实现方式。
参考文献
[1]谭浩强.C++语言程序设计[M].北京:清华大学出版社,2006.
[2](美)Stephen C.Perry 著,肖斌,王小振等译.C#和.NET核心技术[M]. 北京:机械工业出版社,2007,(3).。