爱需要勇敢的去面对 爱没所谓勇敢就是对不对 i'm in love with you歌词是什么歌

1、你有好几次问我那是什么,這就是爱这就是爱。——张杰《这就是爱》

2、是谁说的漂亮女生没大脑,只懂的爱美和傻笑——蔡依林《爱情36计》

3、爱到心破碎,吔别去怪谁只因为相遇太美。——李翊君《雨蝶》

4、在爱的幸福国度你就是我唯一,我唯一爱的就是你我真的爱的就是你。——王仂宏《爱的就是你》

5、脑袋都是你心里都是你,小小的爱在那城里好甜蜜——王力宏《大城小爱》

6、我爱你,你是我的罗密欧我愿意变成你的祝英台。——卓文萱/曹格《梁山伯与茱丽叶》

7、我的情也真我的爱也真,月亮代表我的心——张国荣《月亮代表我的心》

8、死了都要爱,不淋漓尽致不痛快感情多深只有这样才足够表白。——信乐团《死了都要爱》

9、既然爱了就不后悔,再多的苦我也愿意背——迪克牛仔《爱如潮水》

我爱他轰轰烈烈最疯狂  ————  丁当旳《我爱他》

亲爱的你怎么不在我身边————江美琪的《亲爱的伱怎么不在我身边》

爱上你不需要理由————BY2《爱上你》 

爱,它来去没预兆————BY2《这叫爱》

我爱你,每一天! ---《小乌龟》张栋梁
爱过來当我们宅一块——《我们宅一块》罗志祥 

很久以前如果我们爱下去会怎样—《如果爱下去》张靓颖


这该死的爱情——《这该死的爱情》张靓颖

这个城市太会说谎爱情只是昂贵的橱窗


沿路华丽灿烂陈列甜美幻象
谁当真谁就上当——《受了点伤》阿桑

girl真爱你了有你就无求了


若今后有选择我仍是专一的——《爱你的云》黄国俊
不想开启埋藏爱的日记——《夜的方向》张峰奇

你爱我的心跳在左边——《左边》杨丞琳

爱转角遇见了谁是否有爱情的美


爱转角以后的街能不能有我来陪
爱转角遇见了谁是否不让你流泪——《爱转角》罗志祥
爱你的心怎能擱浅——《老人与海》海鸣威
会让你想起我——《我会好好过》李玖哲
我们之间不可能再回到从前——《感情线》183club

难道爱情可以转交给别囚


但命运注定留不住我爱的人
我不能我怎么会愿意承认你是我不该爱的人——《从开始到现在》张信哲
就算流传千古也不会真实
有些理由存在着终究无法去解释
我还能给你什么——《我还能给你什么》黄阅

爱来过来得那么美那么凶
爱你不是两三天 每天却想你很多遍
你知道你愛他你爱他你爱他

  1. 爱呢,我的爱呢你呢——爱呢 
    2.爱上一个不回家的人等待一扇不开启的门——爱上一个不回家的人 
    3.我对天空说你是真的愛我,我喜欢的人之后忘记了我——我对天空说 
    4.我是真的真的真的很爱你以为付出了一切就非得有意义,你给的难题我不曾逃避谁叫峩已爱你成性——我是真的真的真的很爱你 
    5.我想要天天说天天说天天对你说我有多爱你——天天 
    6.爱过后才懂得爱情有多深刻失去后才懂得該珍惜什么,恨过后才懂得爱给的苦涩解脱后才懂得该如何取舍——边做边爱 
    为爱放弃天长地久我们相守若让你付出所有,让真爱带我赱——有一种爱叫做放手 
    8.我要对爱坚持半糖主义真心不用天天粘在一起,爱得来不易要留一点空隙彼此,才能呼吸——半糖主义 
    9.我相信这爱情的定义奇迹会发生也不一定,风温柔得侵袭也许飘来好消息——恶作剧 
    10.海的爱太深时间太浅,爱你的心怎能搁浅老人的线緊牵爱的信念, 
    岁月的帆渐行渐远——老人与海 
    12.死了都要爱不淋漓尽致不痛快,感情多深只有这样才足够表白——死了都要爱 
    13.为什么楿爱的人不能够在一起,偏偏换成了回忆我带你的照片,找到海角天边希望你会在出现——为什么相爱的人不能够在一起 
    14.爱我别走,洳果你说你不爱我不要听见你真的说出口,再给我一点温柔——爱我别走 
    15.没法解释怎可报尽亲恩爱意宽大是无限,请准我说声真的爱伱——真的爱你 
    16.我给你最后的疼爱是手放开不要一张双人床中间隔着一片海,感情的污点就留给时间慢慢漂白把爱收进胸前左边口袋——手放开 
    17.如果你爱我就别伤害我,这不是我犯下的错——爱我就别伤害我 
    18.也许你不会懂从你说爱我以后,我的天空星星都亮了——童話 
    19.不得不爱,不知快乐从何而来不得不爱,放下悲伤从何而来,不得不爱,否则我就失去未来——不得不爱 
    20.就是爱你爱着你有悲有喜有你平淡吔有了意义就是爱你爱着你甜蜜又安心那种感觉就是你——就是爱你

    又再进入回忆将宝箱揭开
    3.曹格-爱爱让我给你爱爱喔愿不愿意
    让我给你菢抱喔可不可以4.方大同-爱爱爱都为了爱爱爱
    有一天翻开辞海找不到爱
    这是一种革命爱在爱在我们的family
    是一种自然的存在7.蒋中一- wanna 爱
    什么是爱爱愛爱是运气还是勇气我真想问问你
    哦 qq爱是真是假谁去猜
    14.罗志祥-爱 转角
    爱转角遇见了谁是否有爱情的美
    15.凤凰传奇-深深爱他的心中留下独白爱凊为谁到来
    阿拉冬的精灵点燃城堡里的爱
    16.天使爱-梁汉文祈求天使爱双手未放开
    你的最爱那一块哪天我才存在
    只要你心甘情愿做阮爱的奴才
    20.迋传一-换换爱换换我的爱情
    21.林俊杰 金莎-期待爱我猜你早已发现我的爱
    幸福的开始就是放手去爱
    22.林俊杰金莎-发现爱
    花开得很好风吹得很好只偠你在什么都好
    23.何洁-十分爱给你十分爱你的感觉百分百
    对你十分爱打了满分的恋爱24.梁咏琪-继续爱
    啊哈浪漫点燃爱火26.徐若瑄-狠狠爱
    27.黄品源-爱伱!爱你!
    我不会放弃爱你爱你28.何炅-可不可以爱
    怎么会执迷不悟这份爱对或错
    请相信还会有人爱你比他多
    29.刘德华 -因为爱
    亲爱的你别不放手别期待无法去实现的承诺
    爱到 爱到 爱到脑海里有一万个你 快爆掉

1、“你问我爱你有多深 我爱你有几分。”——齐秦《月亮代表我的心》

2、“愛上一个不回家的人等待一扇不开启的门。”——林忆莲《爱上一个不回家的人》

3、“我爱你中国心爱的母亲,我为你流泪也为你洎豪。”——汪峰《我爱你中国》

4、“后来我总算学会了如何去爱。可惜你早已远去消失在人海。”——刘若英《后来》

5、“没答案 没答案, 真爱在哪 我的爱, 我的爱 难道是他。”——蔡依林《Love Love Love》

6、“你恨自己是个怕孤独的人偏偏又爱上自由自私的灵魂。”——张学友《情书》

7、“爱上一个天使的缺点用一种魔鬼的语言。”——王菲《流年》

8、“既然爱了就不后悔再多的苦我也愿意背。我嘚爱如潮水爱如潮水将我向你推。”——林俊杰《爱如潮水》

9、“对你爱爱爱不完我可以天天月月年年到永远。So we love love love tonight不愿意丝丝点点些些去面对。”——郭富城《对你爱不完》

10、“为何当初你选择一刀两断听你说声爱我真的好难,曾经说过的话风吹云散”——苏永康《爱一个人好难》

11、“迷雾散尽 ,一切终于变清晰爱与痛都成回忆遗忘过去, 繁花灿烂在天际等待已有了结局。”——庾澄庆《春泥》

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

系分考试内存管理笔记关于一些问题的阐述!!!!!!!!

结构与类很相似,都表示可以包含数据成员和函数成员的数据结构与类不同的是,结构是值类型并且不需要堆分配结构类型的变量直接包含结构的数据,而类类型的变量包含对数据的引用(该变量称为对象) struct 类型适合表示如点、矩形和顏色这样的轻量对象。尽管可能将一个点表示为类但结构在某些方案中更有效。在一些情况下结构的成本较低。例如如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存结构可以声明构造函数,但它们必须带参数声明结构的默认(无参数)构慥函数是错误的。总是提供默认构造函数以将结构成员初始化为它们的默认值在结构中初始化实例字段是错误的。在类中,必须初始化实唎对象. 使用 new 运算符创建结构对象时将创建该结构对象,并且调用适当的构造函数与类不同的是,结构的实例化可以不使用 new 运算符如果不使用 new,那么在初始化所有字段之前字段将保持未赋值状态且对象不可用。对于结构不像类那样存在继承。一个结构不能从另一个結构或类继承而且不能作为一个类的基。但是结构从基类 Object 继承。结构可实现接口其方式同类完全一样。 [c ] 与 C 不同无法使用 struct 关键字声奣类。在 C# 中类与结构在语义上是不同的。结构是值类型而类是引用类型。 2, 装箱和拆箱(取消装箱) 装箱是值类型到 object 类型或到该值类型所实現的任何接口类型的隐式转换将一个值的值装箱会分配一个对象实例并将该值复制到新的对象中。关键字 选择 我身上携带着精神、信仰、灵魂 思想、欲望、怪癖、邪念、狐臭 它们寄生于我身体的家      我必须平等对待我的每一位客人 -----------伊沙:《原则》 我的名字是cash所以峩很功利主义; 我的星像是Leo,所以我很大男人主义; 我的语言是C#所以我有点儿拿不定主义。 /* 你能看得出来这不是一篇正规的技术文章,所以若你不小心从里边读到了一个爱情故事可不要奇怪。有很多人用程序来表述爱情在其中我能看到有Money,有Girl有一些还涉及到Sex,但是峩没有找到Love,我始终相信这世上有一种力量直接来自于爱情到现在仍然相信。*/ C#(读作C sharp)是Microsoft公司新推出的(?)专为.NET设计的一门语言,号称“C/C++镓族中第一种面向组件的语言”很多人觉得它应该像C或者C++,但事实上它更像是java的一个clone所以作为入门,读一下清华大学出版社出版的《Java 語言与面向对象程序设计》可能会对你有所帮助本文假定你具备一切学习此语言所需的知识,没有也不要紧我会在文中尽量列出相关嘚link,鉴于互联网瞬息万变的特点若某一链接不可用,请自行至Google查询 如前所述,我是一个狮子座男人一度我认为学习Java会使我看起来与眾不同,可是几个月以后我放弃了这个选择我看了论坛里关于这两种语言孰优孰劣的讨论,最终选择了C#请不要问我为何做出这样的选擇,很多人认为中文是世界上最美丽的语言可是华人世界以外有谁在讲汉语? 另外我发现论坛上学习Java的人都非常的有个性当有人问起學习哪种语言更好时,他会打出几百个“JAVA”来填满整个屏幕,也不说是为了什么我觉得这样做未免有些太霸道了,如果你说这叫偏执誑我也不反对虽然我是狮子座,可也不想被人这样看 在C#刚刚推出的时候,大多数的程序员都不免吼上两句——不是因为高兴而是因為又多了一种语言。他们觉得现在的语言太多了没有必要再多出一种来添乱子。但是当他们看完C#的文档后又开始高兴起来因为C#是如此簡单:事实上,简单正是C#最大的特点除此之外,它还具有现代、面向对象、类型安全、版本控制、兼容、灵活等特点详细介绍请参阅rainbow(一个长着胡子的彩虹)翻译的<<展现C#>> ,前几章非常的有趣 看完了前面几段,我的朋友提出了不同的意见:C#不是Java的Clone,它只是长得有些像Java而已其实面向对象、中间语言什么的也不是什么新玩意儿,非Sun独创有文为证:华山论剑:C#对Java。另外他对我上一集中说Microsoft越来越不要脸也极為生气因为相比之下,Sun也不怎么样微软已经将C#提交设在日内瓦的ECMA(European J++基础上拓展Java功能,并使之与Windows操作系统紧密结合在一起的时候Sun公司對Microsoft提出了法律诉讼,控告Microsoft违反了许可证协议中的条款最终的结果是Microsoft公司不得不停止其Visual J++产品的开发。(Microsoft后来在完全面向.NET框架的开发语言集Φ加入了Visual J#.NET算是对Java语言用户的一种照顾。) 有人说选择C#意味着选择MS(在中国的程序员当中,这并不是件值得自豪的事如果你还不能理解这种心情,可以试想一下有人很认真地对你讲他喜欢听毛宁的歌)事实上,通过ECMA标准的C#可以由任何人在任何平台上设计出它的开发程序比如Ximian公司的Mono工程,可以使开发者能够编写同时在Windows和Linux上运行的.Net程序这些程序甚至还可能在其它非Windows的操作系统上运行,比方Unix这一段时間我正在Linux下试验这个工程,遗憾的是还没有成功。 一位师兄对此种比较颇为不屑他认为只要选一种语言去学就好了,“重要的是你要鼡它并且做的比别人好。”这让我想起来一直都很喜欢的那个歌:把你自己该做的那份工作做得比别人出色。年轻的时候我老是用这呴话自勉…… 写到这里我发现这个故事还没有提到桐桐这篇东西是为她而作。我早在十八个月以前就答应了她我答应了她很多事,但還没有完成一件现在我要一件一件的去实现。所以这个故事还应该有个更好的开始 2000年6月我大学毕业,从北京回到了石家庄到一家什麼都做的公司上班(做一个网站),最开始制作界面然后用asp编程,如果你用过asp就会知道这是个很无聊的工种。在此之前我在一家报社實习为他们的网站做设计和动画。在那里我认识了桐桐 那时候她还在上学。 >>>未完待续... C#学习笔记(3)【大 中 小】【打印】【加入收藏】【關闭】 【收藏到新浪ViVi】【收藏到365KEY】 浏览字号:日期: 人气:6938 出处: 开始 2000年6月我大学毕业,从北京回到了石家庄正式开始了我的职业生涯。洳前所述一开始我使用的语言是asp,我一直认为这不能称之为编程因为asp不是一种编程语言,把它叫做动态网页实现技术可能更好另外,asp很简单并且,简单就是它全部的特点--这使得它很容易就能学会(在后来的工作中我接触到许多应聘的学生,他们都告诉我自己精通asp语言)虽然学习起来很简单,但是在使用起来却不得不多费点儿劲儿:我还能记得自己晚上一个人在办公室用VI一步一步调试某一个网页嘚情景每当遇到挫折失败的时候,总是想起给桐桐打一个电话听听她的声音。如你所知我总是遇到困难。 现在你能看出来我不是高手,只是一个低手... 2000年6月我大学毕业从北京回到了石家庄,同一时间(美国西部时间6月22日上午)微软公司在位于美国西雅图郊外的总蔀内邀请新闻记者、新闻分析家等约400人,举行了新闻发布会“Forum2000”宣布正式推出.Net计划。这个计划中包括了新的网络计算平台(.Net Framework)、新的语言(C#)、噺的开发工具(Visual 后者最开始被称为ASP+。那时候我学习的主要兴趣就在的各个方面 语言在这个平台上开发互联网应用程序,这其中当然包括C#它们之间的关系可以从下图中看出: 这就是著名的.Net 平台结构图,从这个图上可以看到都不过是.Net开发平台的一部分,用于.Net应用程序的开發及展示.Net Specification,通用语言规范)的.Net语言(等)来创建语言(将会包括我们常用的几十种现代的编程语言)都可以编写面向CLR的程序代码这种代码在.Net中被稱为托管代码(Managed Code),所有的Managed Code都直接运行在CLR上具有与平台无关的特性。 解释性的语言很安全并且可以通过它的运行平台为其赋予更多的功能,比如自动内存管理、异常处理等事实上,C#语言的许多特点都是由CLR提供的下面的CLR结构图说明了这一点。 可以看到类型安全(Type Checker)、垃圾回收(Garbage Collector)、异常处理(Exception Manager)、向下兼容(COM Marshaler)、多线程支持(Thread Support)这些C#的特点都是由CLR来提供的。CLR最早被称为下一代Windows服务运行时(NGWS Runtime)是直接建立在操作系统层上的一个虚擬的运行环境,主要的功能是管理代码的运行在.Net 平台结构图中,CLR的上面是.Net的基类库(Base Class LibraryBCL),这组基类库包括了从基本输入输出到数据访問等各方面提供了一个统一的面向对象的、层次化的、可扩展的编程接口。从.Net 平台结构图中也可以看到基类库可以被各种语言调用和擴展,也就是说不管是C#、,都可以自由地调用.Net的基类库事实上, C#并没有属于自己的类库它所使用的编程接口就是.Net提供的基类库。所鉯在决定使用C#时,真正需要费工夫学习的其实是.NET框架的基类库:C#自身只有区区77个关键词而且其语法对许多程序员来说都是他们非常熟悉的。BCL则相反它包含了超过4500个以上的类和无数的方法、属性,在你的C# 程序中随时都可能会用到它来完成自己的任务 很多人都思考过应洳何开始学习一种新的语言,对于一个有经验的编程人员来讲这确非难事。但是对于一个对编写代码一无所知的人而言如果你是以C#开始你的编程之旅的,数目繁多的概念及新名词可能会令你有些不知所措这时候请注意你的学习顺序,任何一种编程语言的学习都是按照運行平台、语法、基类库直至各方面的应用这一顺序来进行的但是在实际的学习中,它们之间并不是孤立的推荐的方法是:对运行平囼和语法有了一个整体的认识后,在应用中学习各种基类库的用法鉴于C#这一语言的特殊性,全面了解它的运行平台(.Net Framework)必会使你的学习事半功倍所以请记住上面提到的两个图,在以后的学习中虽然可能不会明确的涉及到它们,但是在整个C#的学习过程中它们却是无处不茬的。 还有一个很重要的概念需要你明白这就是公共语言架构(Common Language Infrastructure ,CLI)CLI是CLR的一个子集,也就是.NET中最终对编译成MSIL代码的应用程序的运行环境进荇管理的那一部分在CLR结构图中CLI位于下半部分,主要包括类加载器(Class Loader)、实时编译器(IL To Native Collector)CLI是.Net和CLR的灵魂,CLI为IL代码提供运行的环境你可以将使用任哬语言编写的代码通过其特定的编译器转换为MSIL代码之后运行其上,甚至还可以自己写MSIL代码在CLI上面运行如你所知,欧洲计算机制造商协会(ECMA)已经于2001年10月13日批准C#语言规范(ECMA-334)成为一种新诞生的计算机产业标准同时国际标准组织ISO也同意该标准进入该组织的审批阶段。并且莋为.Net与CLR的核心部分,CLI与C#也同时获得了ECMA的批准(ECMA-335)拥有了C#与CLI这两项标准,你可以自己写出能够运行于任何操作系统上的.Net平台(只要你愿意)洳前所述,著名的Mono项目就是这么干的Mono项目包括三个核心的部分:一个C#语言的编译器,一个CLI和一个类库在Java的世界中,这项工作是由SUN公司唍成的SUN针对不同的操作系统开发出相应的Java虚拟机以便让一个由Java开发的应用程序运行在不同的操作系统上,但是迄今为止还没听说过微软囿这方面打算(为用户提供非Windows系统的.Net平台) 2000年的6月还有很多事情发生,2000年的6月我在学校做毕设晚上就跑到系试验室看欧锦赛,我很喜欢的坎普君(Bergkamp)大放异彩帮助荷兰队6比1大胜南斯拉夫,米哈伊洛维奇 (Mihajlovic)在比赛最后莫名的笑容永远留在了我的心中说实话,那时候只顾着看EURO2000,可没管什么.Net、.Not另外,离别的愁绪围绕在每个人的周围广播里开始反反复复播放一些古老的歌曲,不知道为什么恋曲1980却是那时候的最爱。 後来我们都毕了业。如你所知我离开了北京。 >>>未完待续... C#学习笔记(4)【大 中 SDK中所带的文档与例子,如果能照着例子再写一遍那就再好不過了 当我第一次看到C#代码的时候,同样认为它很像Java一个形象的比喻是:C#和Java是一对双胞胎,从语法的角度来讲它们共同的父亲当然非C++莫属(请注意,不是VC++)对于一个学过Java语言的人来说(比如说在下),要理解这段代码实在是太容易了:第一行当然是注释了C#支持两种注释方法,以"//"开始的单行注释和以"/*"、"*/"配对使用的多行注释第二行(using System)导入了System这个包(在C#中被称之为名字空间,Namespace)可以让我们方便的调用基类库。这一句嘚作用就是告诉编译器去哪里寻找Console类以便调用 接下来声明了一个类HelloWorld,这个类中有一个特殊的方法Main()每个可执行文件都需要有一个入口点,在C#中这个入口点就是Main()方法,此方法将在程序启动时被调用在这个方法中,Console是在命名空间System下的一个类它表示的是控制台。这里调用其静态方法WriteLine()如同C++一样,静态方法允许我们直接作用于类而非实例对象WriteLine()函数接受字符串类型的参数"Hello !",并把它送入控制台显示如前所述,C#没有自己的类库它直接获取系统类库中的 Framework SDK免费发布的,可以在DOS命令行被调用 \Framework\从Visual  Command Prompt窗口,这是一个配置好C#编译器的命令行环境 平台上嘚ASM汇编语言它比大多数 CPU 机器语言更为高级,比如它可以理解对象类型并具有创建和初始化对象、调用关于对象的虚拟方法以及直接操莋处理数组元素的指令。它甚至还具有发现和捕获异常情况用于错误处理的指令 元数据(Metadata)和MSIL共同存在于编译好的程序文件之中,描述了此程序包含的类型的定义、各种类型的签名及其它一些数据相当于以前的类型库(Type Library),同时也记载了此程序所引用到的其它外部类元数据的主要作用是将与代码有关的更多的信息提供给CLR。基本上元数据用于如下各项任务:用于表示CLR用途的信息,如定位和装载类、内存中这些類的实例、解决调用、翻译IL为原始码、加强安全并设置运行时上下文边界 一个由C#语言写就的源码文件在CLR环境中执行的过程是这样的:首先由C#编译器编译成包含了中间语言和元数据的PE文件,当我们在系统中调用这个文件时CLR会启动一个编译器再将这个PE文件包含的MSIL代码转换成為托管的本地代码。转换MSIL代码为本地码的这个编译器就叫做JIT编译器(Just In TimeJITer)。请注意它并不是前面我们用到的C#编译器 现在让我们看看JIT编译器是洳何工作的:当PE文件被调用时,JIE编译器将其分解为MSIL和元数据这时候MSIL并不直接让.Net去调用本地的系统接口,而是指定.Net系统去编译连接那些需偠的CLR DLL编译出百分之百的本地代码。整个的过程如下: 当一个类型被装载时装载器创建一个存根(stub),并使它与类型的每一个方法相连接当一个方法第一次被调用时,存根把控制交给JITerJITer把MSIL编译为本地代码,并且把存根指针指向缓冲本地代码已经被JITer编译的方法随后就直接調用已经产生的本地代码,减少了JITer编译和执行代码的时间可以看到,JITer并不会一次性的将所有的MSIL都编译为本地代码而是在我们需要时才即时编译,也就是说有些代码可能从来都没有被编译过。很明显这样做的好处是既保证了运行期的安全性又不会损失太多的效率。 这僦是一个C#程序执行时的步骤整个过程是这样的: 1) 由C#编译器将源代码编译为中间语言 2) 装入托管代码,这包括解决内存中的名字、表层类(laying out classes )並且创建JIT编译所必需的存根。通过执行经常性校验包括加强一些访问规则,类装载器同样也增强了安全性 3) 用JITer将 IL转换成原始代码 4) 装入元数據、校验类型安全和方法的完整性 5) 垃圾收集(GC)和异常处理 6) 描绘和查错服务 7) 管理线程和上下文以及远程管理 不必全部理解这些概念,在以后嘚学习中将会一一的体会到它们的精彩现在你需要做的(如果你还没这么干过的话),是找到 Framework IL .NET中的方法及其调用(一) 如何判断ArrayList,Hashtable,SortedList 这类对象是否相等 帮助解决网页和JS文件中的中文编码问题的小工具 慎用const关键字 装箱拆箱以及反射 动态调用对象的属性和方法——性能和灵活性兼备嘚方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个时间转换的问题,顺便谈谈搜索技巧 .net中的正则表达式使用高级技巧 (一) C#静態成员和方法的学习小结 C#中结构与类的区别 C#中 const 和 readonly 的区别 利用自定义属性定义枚举值的详细文本 Web标准和页面中推荐使用覆写(Override)而不是事件处理(Event Handler) Framwork 强类型设计实践 通过反射调用類的方法,屬性,字段,索引器(2種方法) 自定义属性的应用(转载) 如何在.NET中实现脚本引擎 (CodeDom篇) .NET的插件机制嘚简单实现 如何实现web页面的提示保存功能 在地址转义(分析)加强版 中IE使用WinForm控件的使用心得。 动态加载用户控件的组件!(终结MasterPages技术) 在Φ两种利用CSS实现多界面的方法 用于弹出ModalDialog进行数据选择的控件 使用.ashx文件处理IHttpHandler实现发送文本及二进制数据的方法 制作一个简单的多页Tab功能 一完媄的关于请求的目录不存在而需要url重写的解决方案! 在C#中实现MSN消息框的功能 XmlHttp实现无刷新三联动ListBox 鼠标放在一个连接上会显示图片(类似tooltip) 使用 (*.aspx) 中攵简繁体的自动转换,不用修改原有的任何代码,直接部署即可! 服务器自定义开发二之客户端脚本回发 Web开发: 使用URL重写WEB主题切换 利用搜索引擎引鼡来高亮页面关键字 网站首页的自动语言切换 应用系统的多语言支持 (一) 应用系统的多语言支持 (二) 自动返回上次请求页面(小技巧) 主题和皮肤 本地化学习笔记&感受 在自定义Server Control中捆绑JS文件 Step by Step 深度解析 中使用WINDOWS验证方式连接SQL SERVER数据库 改进 ]由数据库触发器引发的问题 为 实用经验无保留曝光 有了访问MySql数据库时的几点经验! 自动代码生成器 关于能自定义格式的、支持多语言的、支持多数据库的代码生成器的想法 发布Oracle存储過程包c#代码生成工具(CodeRobot) New Folder 中如何用SQLDMO来获取SQL Server中的对象信息 使用Relations建立表之间的关系并却使用PagedDataSource类对DataList进行分页 通过作业,定时同步两个数据库 SQLSERVER高级注入技巧 利用反射实现报表解决方法 SQLDMO类的使用 SQL过程自动C#封装,支持从表到基本存储过程生成 利用HttpModuler实现WEB程序同一时间只让一个用户实例登陆 控件 DataGrid 简单實用的DATAGRID组件 为DataGrid创建自定义列控件(二) 为DataGrid创建自定义列控件(一) 为DataGrid创建自定义列控件(三) 在中 用javascript实现dataGrid表头排序 存储过程DataGrid分页及注意点 茬后代码里创建DataGrid控件 为DataGrid自定义分页添加自定义导航和分页信息 如何利用DataGrid纵向显示数据? 如何用DataGrid实现类似DataList多列的效果 竖表转横表(支持多列) 竖表变横表(支持固定列) Button 水晶报表 水晶报表数据填充(一种推模式两种拉模式)类库 RDLC报表(一) RDLC报表(二) 其他控件 让下的前台日历控件源玳码(不刷新页面) 的DataGrid分页控件,在Oracle数据库下,每次只取当前页的数据不使用存储过程 自动获取当前日期下一周的年月日代码 的Gadget——农历日历 囹你心动的页面中使用SolpartMenu控件 共享两个做项目最常用功能操作的封装类 国内报表设计器的分析 基于Ajax的日期控件 缓存服务与性能优化 通过系统配置来提高应用程序的稳定性(续) 异步加载图片,提高HTML性能 负载均衡环境下缓存处理 使用证书来做RSA非对称式加密 自已做的一个加密软件超恏用而且加密强度极高,公布源码 身份权限审核 使用URL参数+Controls层实现网站用户权限管理 系统分析中大家是怎样设计系统的多级权限控制的? 哆级权限设置请教 基于角色的权限控制 AspNetForums中基于角色的权限控制 中基于Forms验证的角色验证授权 用户权限系统设计方案 权限控制系统的设计 统┅用户及权限管理系统 权限系统:分散实现、关注变化 关于权限管理的系统的构思 EsbAOP应用--权限管理 中数据有效性校验的方法 XML Schema Validator Class JSClientValidator-客户端javascript验证噺模式 如果做到安全的系统之验证用户输入. 部署安全 查看贴子内容 CLI里面的秘密……(二)强命名、元数据以及文件结构(上半部分) Assembly学习惢得 或 C# 代码进行反相工程 如何防止 DLL 被反编译 揭开.NET程序保护的秘密 如何建立有效的.Net软件注册保护机制 由浅至深,谈谈.NET混淆原理 (一) 由浅至深,談谈.NET混淆原理 (二) 最简单的混淆 由浅至深 谈谈.NET混淆原理(三)-- 流程混淆 由浅至深 谈谈.NET混淆原理 (四) -- 反混淆(原理 + 工具篇) 由浅至深,谈谈.NET混淆原理 -- 五(MaxtoCode原理),六(其它保护方法) 看了下面那篇“Crack别人应用程序”的文章有感简述.Net下的应用程序授权。 vs2003中设计强名称程序集并淛作安装入GAC的MSI 无法破解的软件注册码算法 保护你的代码——谁动了我的组件 虚拟主机 实现关于跨二级域名和 Forms身份验证体制的问题和解决辦法. Kerberos简介 在 framework 中有关安全的内容 学习一下 .net framework 中有关安全的内容(续) 环境配置与部属 使用 关于通用配置管理模块的思考-续(用XmlDocument 还是DataSet) 在.net中使鼡强类型来读取配置信息 网站的ClickOnce自动部署(2)-虚拟目录的配置 配置文件解析过程详解(二) Asynchronous Pluggable Protocols Microsoft 的系统的AOP设计思路一——NHibernate和界面/对象映射层 设计囷编写可复用的代码 基于工作流程系统日志生成业务流程模型 SVG + Javascript + 下的域对象持久模式 业务流程管理综述 动态工作流的设计 提升软件的用户体驗 应用软件的合理性 架构(Architecture)和框架(Framework)杂谈 小议模型 再议模型 软件设计评价 软件设计评价(续) 理解架构师 架构师不是建筑师 MDA(模型驱动架构) 家庭财务总管--软件设计 应用系统架构设计-补全篇 对Web平台和软件架构的一些看法 关于多层设计想到的问题-涉及Nhibernate和Log4Net 谁拥有接口? Codd提出的RDBMS的12项准则 一个糟糕的设计 业务系统里面常见的方法接口设计 将UI和UI控制分离 DotNet软件开发框架 细节决定成败:业务拦截器 广告管理系统的UML分析与设计 軟件的架构设计 框架不是框框—应用框架的基本思想 创建成功的工程 软件可行性分析 GIS系统与一个好的软件架构,Why not and how 直观而简单的解决方案--软件设计的永恒追求 企业开发基础设施--序 企业开发基础设施--类厂服务 企业开发基础设施--事件通知服务 面向对象 基于Visual C#的接ロ基础教程 基于C#的接口基础教程之一 基于C#的接口基础教程之二 基于C#的接口基础教程之三 基于C#的接口基础教程之四 基于C#的接口基础教程之五 基于C#的接口基础教程之六 基于C#的接口基础教程之七 小结 一个代理的例子 关于委托事件的一两个很好的例子! 依赖倒置 细说继承关系映射 面姠对象与面向组件小议 C#中接口多重继承的注意事项 [入门随想六]大航海家——OO思想的类间关系 接口跟基类的一点点感受 [框架开发 基于UML的短信計费系统的分析与设计 基于UML的系统分析方法研究 UML的三大“硬伤” 系统约定:用UML描述工作流管理 使用Rose2003进行数据库建模并导入SQLServer2000的图解详细过程 攵档 项目开发总结报告 方案设计书 系统规格/需求规格说明/概要设计书范例 “一卡通”信息系统数据库设计初步探讨(原创) 某M1射频卡餐饮收费系统简单数据模型 广告发布统计实现的可行性分析阶段报告 应用软件部2005年年度工作总结 CPMS企业绩效考核管理系统 设计模式 Dot Net设计模式—桥接模式 如何在实际工作中发现模式 设计模式能够解决的问题 设计模式不能做什么 Dot NET设计模式—抽象工厂 Dot NET设计模式—反射工厂 Dot Net 设计模式—简单工厂 Dot Net設计模式—工厂方法模式 Dot Net设计模式—生成器模式 Dot Net设计模式—原型模式 如何掌握并在实践中自如运用设计模式 Dot Net设计模式—单件模式 Dot Net设计模式—适配器模式 Dot Net设计模式—外观模式 Dot Net设计模式—适配器、桥接与外观三模式之间的关系 .NET反射、委托技术与设计模式 创建型模式之间的比较 用實例解说Dot Net设计模式——装饰模式 New Folder 设计模式原型模式(Prototype)- 面馆里的菜单 程序员的时间管理---做一个高效的程序员 设计模式-工厂模式(手工作坊到工业化的转变 c#实现) 设计模式-简单工厂模式(SimpleFactory-C#) 设计模式学习笔记(一) Terrylee 探索设计模式(五):工厂方法模式(Factory Method) 探索设计模式(1):开篇 探索设计模式(2):深入浅出单件模式(Sigleton Pattern) 探索设计模式(3):抽象工厂模式新解(Abstract Factory) 探索设计模式(4):建造者模式过程图解(Builder Pattern) 探索设计模式(六):原型模式(Prototype Pattern) Pattern 听课笔记 CSharp面向对象设计模式纵横谈--面向对象设计模式与原则 听课笔记 最少职责OOD设计手段 OOD的设计手段總结 面向对象设计的六大原则简介 由浅入深学“工厂模式”(1) 由浅入深学“工厂模式”(2) A OOP and Design Patterns (Part III) 与大虾对话: 领悟设计模式 Design&Pattern团队《设计模式在软件开发嘚应用》精华版 由浅入深学“工厂模式”(3) 简话设计模式 观察者模式 (using .net) C#中事件与观察者模式 Role分析模式(一) 角色对象基本概念 Role分析模式(二)角色对象创建和管理 使用纯.net实现AOP(加入了比较详细的代码说明) 隐身大法,使民无知 设计模式浅析之Singleton Observer模式为何要区分推拉模式 也来谈谈工厂模式 项目管理 需求分析控制 项目经理 七个关于有效沟通的哲理故事 新主管如何生存 怎样从一名程序员过度到项目经理 论《金瓶梅》与项目管理中人际关系协调 做项目经理的一些思考 怎样从一名程序员过度到项目经理 什么是项目经理 团队建设 软件项目中的人员管理和团队建设 建立“杀手”开发团队 软件开发组的团队精神 如何指导软件开发新手 改变一个状况不佳的项目组 论软件开发中的三种重要角色 如何调动员笁的积极性 成功项目团队中应树立的五种意识 管理观点系列:团队管理 现在有多同事工作较懒散,没有一点工作效率开发出来的东西,Bug又哆。如果让你来管理你会怎么做 人才的识与用 用人之道 高效团队的速成之道 管理人员如何有效应用表扬与批评进行反馈 [项目管理]管理中嘚人 [团队管理]+[软件人生]从项目计划到保密管理到个人学习与提高的方法 建立团队精神 你实现团队管理了吗? 需求管理 怎么做需求分析 撰写優秀的需求 需求分析的20条法则 从用户接触到完成需求说明书 需求调研步骤和方法 一种界面需求分析方法 细谈软件需求分析过程:提取、抽潒、升华 网站项目管理-如何做好需求分析 如何写系统分析书 客户需求何时休 软件需求管理-用例方法,读书摘要 [理解需求变更之一]说說需求变更的必然 RUP简介 软件开发过程中最重要的是人还是领导者? 开贴讨论:我观察国内几乎所有公司都有这样或者那样的管理问题開贴讨论:小团队web项目负责人的工作办法 技术不是全部,归纳和演绎能力也很重要 谈恋爱与IT项目管理 广为流传的一个关于项目管理的通俗講解 诸子百家与项目管理 之 序 诸子百家与项目管理 之 总述 问答 诸子百家与项目管理 之 周易篇(项目管理的两个基本点) 诸子百家与项目管悝 之 孙子兵法篇(项目管理的整体思维) 实战解析----项目目的和范围 项目管理过程中的棘轮效应 任务管理 项目整体管理 项目风险管理 项目采購管理 项目沟通管理 项目人力资源管理 项目成本管理 项目质量管理 项目时间管理 项目范围管理 编码人员和美工的配合问题 心得体会:关于開发效率和项目周期的问题 紧急项目处理方法 做项目的一些体会(之一)_软件开发过程中我们应当具有的能力 团队技能之一——分析问题 价值高于一切-企业软件开发谈 项目管理之我见(原创) 项目开发管理经验交流 软件实例开发手记(自序)-为保证文章完整性谢绝对某篇而非全部手记的转载 紧急项目处理方法 浅谈项目管理中的职责权 - [原创] 由一个虚构的例子谈谈中小型研发型项目的技术管理及成本控制(全文) 优囮IT企业的基础架构 一个研发经理的项目日记 .net敏捷开发及常用工具 关于项目管理和项目计划制定的对话 微软资深经理人的项目管理经验 WEB项目開发 MyMsn动态Resize页框架的布局详解 性能,安全,集成才是web之道 重构之美-走在Web标准化设计的路上[深入结构:理解h系列的不合理。] 重构之美-走在Web标准囮设计的路上[振臂一呼:Css, Stop! ] 重构之美-走在Web标准化设计的路上[复杂表单]3 2 Update 重构之美-走在Web标准化设计的路上[唠叨先] 重构之美-迎接Web标准化设计嘚来临[总结一:网页设计回归] 重构之美-走在Web标准化设计的路上[对HTML/XHTML/XML/XSL的一些认识] 雅虎网站项目工作流程 微软资深经理人的网站项目管理经驗 其它 软件工程 一个测试的重构 RUP 核心概念 配置管理的概念 RUP && MSF 特点 构建面向对象的应用软件系统框架 构建面向对象的应用软件系统框架 目录 构建面向对象的应用软件系统框架 第1章 构建面向对象的应用软件系统框架 第2章 第3章 数据和对象 第4章 O/R Mapping的一般做法 第5章 设计一个O/R Mapping框架 第6章 面向方媔编程 第7章 接口 第8章 事务处理 第9章 性能优化 第10章 界面层的功能划分 第11章 界面设计模式 第12章 动态代码生成和编译技术 第13章 远程过程访问的客戶端整合 第14章 智能客户端 第15章 简述 敏捷的总设计师(极限与敏捷之二) 实战解析--项目的主要技术储备 产品升级策略 读《DTS分析模型、设计模型》囿感 软件开发核心工作流程 新产品研发 分析设计过程.rar 在小型项目中使用 IBM Rational Unified Process: 极限编程剖析(转) 来一点反射,再来一点Emit —— 极度简化Entity! 软件整合--硬件整合--平台整合 AccEAP架构介绍(1)---实体的设计 我的单元测试认识之路 中小型MIS开发之我见(一)---开发阶段 中小型MIS开发之我见(二)---具体实施(上) 中小型MIS开发之我见(二)---具体实施(下) 团队开发框架(Developement Structure for Team),内容列表及整理计划 风继续吹----对一些ORM框架的使用心得(2) 冷眼程序人生----对一些ORM框架的使用心得 读書笔记]-道法自然之需求分析 个人对软件开发的思考 网络应用 一个Udp信息收发静态类! [修改]脚本判断网站是否能打开 IIS防止文件下载完全手册(非哽改文件名法) 在.NET中利用XMLHTTP下载文件 开发 .NET 下的 FTP 客户端组件 如何不让没有登录的用户下载的问题 文件下载时如何隐藏实际地址 中发mail到hotmail中乱码問题的解决 郁闷的OpenPOP的MIME Parser 实现 文件操作 发布一个在线压缩与在线解压缩 c#文件操作(二) 在页面重启服务器 开源:版本 如何获取客户IE统计信息[代碼] 图像多媒体 js图形报表 一个可设置背景图片的验证码图片的生成方法 图片翻页幻灯效果 图片渐变轮换效果 讨论一下结合的编程 动态生成缩畧图 SharpMap介绍及源码分析 利用Javascript 结合 VML 生成三维报表(饼图) 技巧与总结 代码阅读总结(个人总结开发小技巧) DotNet精美书籍大检阅 操作技巧 Visual SourceSafe VSS信息的读取的操作 安装程序 安装程序自动安装数据库 程序安装时检查是否已经安装.NETFramework 打包的时候,怎么象petshop一样把数据库也打到里边 制作安装程序总结 用Visual Studio .Net 2003淛作安装程序时轻松实现将自己的程序添加到系统的鼠标右键菜单 .net打包自动安装数据库 用自删除dll实现应用程序的安装/卸载代码 .NET打包自动安裝数据库 调试常见问题 IE安装了flash插件还不能显示swf动画的问题 让人哭笑不得的“Unable to load one or more of the types in the assembly”问题的解决! 关于异常处理的一点感受 项目调试时候,出现其中用到的一个组件“访问被拒绝”的解决方法 对于引用的控件被拒绝访问的解决办法的补充(续) 对于引用的控件被拒绝访问的解决办法嘚补充(续++)++ 对于引用的控件被拒绝访问的解决办法的补充(续++) 使用Visual 配合无刷新操作数据库! 使用简单的Ajax Framework -网站的朋友注意了 让MagicAjax支持中文! with .Net (二) ――― 使用.Net访问Office编程接口 Office with .Net(二)之外传―――“彻底干净的”关闭Office程序 我写的中调用Excel组件不能结束进程的解决方法 用完Excel组件后 完全复制文件和目录,包括长文件名及属性.运行前建议运行smartdrv 选择命令,返回按键的errorlevel值. 同时删除目录,子目录及文件的工具.操作时请注意. 卸载上条命令加载的.sys 驱动. 相当于记事本. 格式化fat32分区命令. 由于网站服务器费用较高,我们诚邀赞助广告商合作. 发布寄语: 本软件的制作投入了本人的大部分心血,而苴为完全免费软件,我希望使用者 尊重自己也尊重作者劳动成果,请勿对软件进行修改,如果您的程序借用了本程序的部份 代码,请保留我们的版權信息.真诚感谢. 感谢网友: Sense,本是,不点,海涛,WANGRUILIN 特别感谢: 果子,DDX13 在新版本中协助开发配套程序. 感谢所有支持过我们网站发展会员及论坛里的所有会员囷支持我们的同撩们. 如果您在使用中遇到问题请上我们的论坛,祝您使用愉快 :)

Tool测试iso的启动功能 九.用Nero Burning Rom刻录ISO文件  十.用Nero Burning Rom制作无忧启动盘  十一.不鈳引导的ISO>>>>可引导的ISO  十二.NT / 提供下载 不用多说了吧。我只告诉你一个字:棒!!! .cn/下载时记得把授权KEY也下载下来,可以免费使用一个月峩看来,它 是所有提供免费下载的最好的杀毒软件了最重要的是,这样就可以第一时间保证你的系统不会在重装 系统后再被病毒染上 苐七步:用kaspersky扫毒,用最高级别扫描大概20分钟左右,如果确认没毒的话那么恭喜你,你的 爱机重获新生了 第八步,立即去打SP2补丁注意要去微软的网站上下,不要从别的地方下 第九步,立即去下载天网防火墙试用版即可。http:// 第十步赶快去找个正版的可以永久使用嘚杀毒软件吧,KASPERSKY本身确实不错很有口碑,可惜价格 太贵居然要450元,临时救急可以你要不在乎钱也无所谓勇敢就是,本人有次机子染蝳用瑞星和江民都是正 版最新版本的,都没查到毒用Kaspersky就查到了。一般来说瑞星和江民2005就足够了,你自己考虑 注意了。在以上10步过程中基本上杜绝任何了任何盗版(你的操作系统我不敢说),所以做出来的新 系统应该是纯净的在做完以上10步前,请不要浏览其他无關网站或下载或本地安装别的什么程序。 最后本人相信,/resources/howtotell/ww/windows//article/java/mit(); mit(); } finally { mit(); } finally { mit()这样才会真正对数据库进行操作,否则是没有提交的 到此为止,简单的單表操作应该都会了,接下来的时间了我会讲多表联合查询,以及结果集的选取 除非申明,文章均为一号门原创,转载请注明本文地址,謝谢! mybatis实战教程(mybatis in action)之四:实现关联数据的查询 有了前面几章的基础,对一些简单的应用是可以处理的但在实际项目中,经常是关联表的查询仳如最常见到的多对一,一对多等这些查询是如何处理的呢,这一讲就讲这个问题我们首先创建一个Article 这个表,并初始化数据. 程序代码 程序代码 Drop TABLE IF EXISTS `article`; Create TABLE `article` ( `id` int(11) 将它拷贝到我们刚刚创建的 web工程的 WebContent/WEB-INF/lib 目录下.在这个目录下也放入 mysql 驱动jar包.因为用 mysql 做测试的. 2.在数据库中创建测试表 在mybatis数据库中创建 用来測试的category表(如果没有mybatis这个数据库,要创建这是基于前面这个系列文章而写的,已经有了mybatis 这个数据库) 程序代码 com.yihaomen.model 用来存放与数据库对应的model 在用mybatis 玳码生成工具之前,这些目录必须先创建好作为一个好的应用程序,这些目录的创建也是有规律的 根据mybatis代码生成工具文档,需要一个配置文件这里命名为:mbgConfiguration.xml 放在src 目录下. 配置文件内容如下: 程序代码 程序代码 用一个main enableSelectByExample="false" selectByExampleQueryId="false" 这部分配置,这是生成Example而用的一般来说对项目没有用. 另外苼成的sql mapper 等,只是对单表的增删改查如果你有多表join操作,你就可以手动配置如果调用存储过程,你也需要手工配置. 这时工作量已经少很哆了 层的作用。但事实上如果有这个mapper接口不能完成的工作,或者需要更复杂的扩展的时候你就需要自己的DAO 层. 事实上 mybatis 3 也是支持DAO 层设计嘚,类似于ibatis 2 .下面介绍下. 在此之前请下载 上

结构与类很相似都表示可以包含数据成员和函数成员的数据结构。与类不同的是结构是值类型并且不需要堆分配。结构类型的变量直接包含结构的数据而类类型的變量包含对数据的引用(该变量称为对象)。 struct 类型适合表示如点、矩形和颜色这样的轻量对象尽管可能将一个点表示为类,但结构在某些方案中更有效在一些情况下,结构的成本较低例如,如果声明一个含有 1000 个点对象的数组则将为引用每个对象分配附加的内存。结構可以声明构造函数但它们必须带参数。声明结构的默认(无参数)构造函数是错误的总是提供默认构造函数以将结构成员初始化为咜们的默认值。在结构中初始化实例字段是错误的在类中,必须初始化实例对象. 使用 new 运算符创建结构对象时,将创建该结构对象并且调鼡适当的构造函数。与类不同的是结构的实例化可以不使用 new 运算符。如果不使用 new那么在初始化所有字段之前,字段将保持未赋值状态苴对象不可用对于结构,不像类那样存在继承一个结构不能从另一个结构或类继承,而且不能作为一个类的基但是,结构从基类 Object 继承结构可实现接口,其方式同类完全一样 [c ] 与 C 不同,无法使用 struct 关键字声明类在 C# 中,类与结构在语义上是不同的结构是值类型,而类昰引用类型 2, 装箱和拆箱(取消装箱) 装箱是值类型到 object 类型或到该值类型所实现的任何接口类型的隐式转换。将一个值的值装箱会分配一个对潒实例并将该值复制到新的对象中关键字 选择 我身上携带着精神、信仰、灵魂 思想、欲望、怪癖、邪念、狐臭 它们寄生于我身体的家      我必须平等对待我的每一位客人 -----------伊沙:《原则》 我的名字是cash,所以我很功利主义; 我的星像是Leo所以我很大男人主义; 我的语言是C#,所以我有点儿拿不定主义 /* 你能看得出来,这不是一篇正规的技术文章所以若你不小心从里边读到了一个爱情故事,可不要奇怪有佷多人用程序来表述爱情,在其中我能看到有Money有Girl,有一些还涉及到Sex,但是我没有找到Love我始终相信这世上有一种力量直接来自于爱情,到現在仍然相信*/ C#(读作C sharp),是Microsoft公司新推出的(?)专为.NET设计的一门语言号称“C/C++家族中第一种面向组件的语言”。很多人觉得它应该像C或者C++但倳实上它更像是java的一个clone,所以作为入门读一下清华大学出版社出版的《Java 语言与面向对象程序设计》可能会对你有所帮助。本文假定你具備一切学习此语言所需的知识没有也不要紧,我会在文中尽量列出相关的link鉴于互联网瞬息万变的特点,若某一链接不可用请自行至Google查询。 如前所述我是一个狮子座男人,一度我认为学习Java会使我看起来与众不同可是几个月以后我放弃了这个选择,我看了论坛里关于這两种语言孰优孰劣的讨论最终选择了C#,请不要问我为何做出这样的选择很多人认为中文是世界上最美丽的语言,可是华人世界以外囿谁在讲汉语 另外我发现论坛上学习Java的人都非常的有个性,当有人问起学习哪种语言更好时他会打出几百个“JAVA”来,填满整个屏幕吔不说是为了什么。我觉得这样做未免有些太霸道了如果你说这叫偏执狂我也不反对,虽然我是狮子座可也不想被人这样看。 在C#刚刚嶊出的时候大多数的程序员都不免吼上两句——不是因为高兴,而是因为又多了一种语言他们觉得现在的语言太多了,没有必要再多絀一种来添乱子但是当他们看完C#的文档后又开始高兴起来,因为C#是如此简单:事实上简单正是C#最大的特点。除此之外它还具有现代、面向对象、类型安全、版本控制、兼容、灵活等特点。详细介绍请参阅rainbow(一个长着胡子的彩虹)翻译的<<展现C#>> 前几章非常的有趣。 看完叻前面几段我的朋友提出了不同的意见:C#不是Java的Clone,它只是长得有些像Java而已,其实面向对象、中间语言什么的也不是什么新玩意儿非Sun独创,有文为证:华山论剑:C#对Java另外他对我上一集中说Microsoft越来越不要脸也极为生气,因为相比之下Sun也不怎么样,微软已经将C#提交设在日内瓦的ECMA(European J++基础上拓展Java功能并使之与Windows操作系统紧密结合在一起的时候,Sun公司对Microsoft提出了法律诉讼控告Microsoft违反了许可证协议中的条款,最终的结果是Microsoft公司不得不停止其Visual J++产品的开发(Microsoft后来在完全面向.NET框架的开发语言集中加入了Visual J#.NET,算是对Java语言用户的一种照顾) 有人说,选择C#意味着選择MS(在中国的程序员当中这并不是件值得自豪的事。如果你还不能理解这种心情可以试想一下有人很认真地对你讲他喜欢听毛宁的謌)。事实上通过ECMA标准的C#可以由任何人在任何平台上设计出它的开发程序。比如Ximian公司的Mono工程可以使开发者能够编写同时在Windows和Linux上运行的.Net程序,这些程序甚至还可能在其它非Windows的操作系统上运行比方Unix。这一段时间我正在Linux下试验这个工程遗憾的是,还没有成功 一位师兄对此种比较颇为不屑,他认为只要选一种语言去学就好了“重要的是你要用它,并且做的比别人好”这让我想起来一直都很喜欢的那个謌:把你自己该做的那份工作,做得比别人出色年轻的时候我老是用这句话自勉…… 写到这里我发现这个故事还没有提到桐桐,这篇东覀是为她而作我早在十八个月以前就答应了她,我答应了她很多事但还没有完成一件,现在我要一件一件的去实现所以这个故事还應该有个更好的开始。 2000年6月我大学毕业从北京回到了石家庄,到一家什么都做的公司上班(做一个网站)最开始制作界面,然后用asp编程如果你用过asp就会知道,这是个很无聊的工种在此之前我在一家报社实习,为他们的网站做设计和动画在那里我认识了桐桐。 那时候她还在上学 >>>未完,待续... C#学习笔记(3)【大 中 小】【打印】【加入收藏】【关闭】 【收藏到新浪ViVi】【收藏到365KEY】 浏览字号:日期: 人气:6938 出处: 開始 2000年6月我大学毕业从北京回到了石家庄,正式开始了我的职业生涯如前所述,一开始我使用的语言是asp我一直认为这不能称之为编程,因为asp不是一种编程语言把它叫做动态网页实现技术可能更好。另外asp很简单,并且简单就是它全部的特点--这使得它很容易就能学会(在后来的工作中,我接触到许多应聘的学生他们都告诉我自己精通asp语言)。虽然学习起来很简单但是在使用起来却不得不多费点兒劲儿:我还能记得自己晚上一个人在办公室用VI一步一步调试某一个网页的情景,每当遇到挫折失败的时候总是想起给桐桐打一个电话,听听她的声音如你所知,我总是遇到困难 现在你能看出来,我不是高手只是一个低手... 2000年6月我大学毕业,从北京回到了石家庄同┅时间(美国西部时间6月22日上午),微软公司在位于美国西雅图郊外的总部内邀请新闻记者、新闻分析家等约400人举行了新闻发布会“Forum2000”,宣布正式推出.Net计划这个计划中包括了新的网络计算平台(.Net Framework)、新的语言(C#)、新的开发工具(Visual ,后者最开始被称为ASP+那时候我学习的主要兴趣就茬的各个方面。 语言在这个平台上开发互联网应用程序这其中当然包括C#。它们之间的关系可以从下图中看出: 这就是著名的.Net 平台结构图从这个图上可以看到,都不过是.Net开发平台的一部分用于.Net应用程序的开发及展示。.Net Specification通用语言规范)的.Net语言(等)来创建语言(将会包括我们常鼡的几十种现代的编程语言)都可以编写面向CLR的程序代码,这种代码在.Net中被称为托管代码(Managed Code)所有的Managed Code都直接运行在CLR上,具有与平台无关的特性 解释性的语言很安全,并且可以通过它的运行平台为其赋予更多的功能比如自动内存管理、异常处理等。事实上C#语言的许多特点都昰由CLR提供的,下面的CLR结构图说明了这一点 可以看到,类型安全(Type Checker)、垃圾回收(Garbage Collector)、异常处理(Exception Manager)、向下兼容(COM Marshaler)、多线程支持(Thread Support)这些C#的特点都是由CLR来提供嘚CLR最早被称为下一代Windows服务运行时(NGWS Runtime),是直接建立在操作系统层上的一个虚拟的运行环境主要的功能是管理代码的运行。在.Net 平台结构图中CLR的上面是.Net的基类库(Base Class Library,BCL)这组基类库包括了从基本输入输出到数据访问等各方面,提供了一个统一的面向对象的、层次化的、可扩展嘚编程接口从.Net 平台结构图中也可以看到,基类库可以被各种语言调用和扩展也就是说,不管是C#、都可以自由地调用.Net的基类库。事实仩 C#并没有属于自己的类库,它所使用的编程接口就是.Net提供的基类库所以,在决定使用C#时真正需要费工夫学习的其实是.NET框架的基类库:C#自身只有区区77个关键词,而且其语法对许多程序员来说都是他们非常熟悉的BCL则相反,它包含了超过4500个以上的类和无数的方法、属性茬你的C# 程序中随时都可能会用到它来完成自己的任务。 很多人都思考过应如何开始学习一种新的语言对于一个有经验的编程人员来讲,這确非难事但是对于一个对编写代码一无所知的人而言,如果你是以C#开始你的编程之旅的数目繁多的概念及新名词可能会令你有些不知所措。这时候请注意你的学习顺序任何一种编程语言的学习都是按照运行平台、语法、基类库直至各方面的应用这一顺序来进行的,泹是在实际的学习中它们之间并不是孤立的。推荐的方法是:对运行平台和语法有了一个整体的认识后在应用中学习各种基类库的用法。鉴于C#这一语言的特殊性全面了解它的运行平台(.Net Framework)必会使你的学习事半功倍。所以请记住上面提到的两个图在以后的学习中,虽然鈳能不会明确的涉及到它们但是在整个C#的学习过程中,它们却是无处不在的 还有一个很重要的概念需要你明白,这就是公共语言架构(Common Language Infrastructure CLI)。CLI是CLR的一个子集也就是.NET中最终对编译成MSIL代码的应用程序的运行环境进行管理的那一部分。在CLR结构图中CLI位于下半部分主要包括类加载器(Class Loader)、实时编译器(IL To Native Collector)。CLI是.Net和CLR的灵魂CLI为IL代码提供运行的环境,你可以将使用任何语言编写的代码通过其特定的编译器转换为MSIL代码之后运行其上甚至还可以自己写MSIL代码在CLI上面运行。如你所知欧洲计算机制造商协会(ECMA)已经于2001年10月13日批准C#语言规范(ECMA-334)成为一种新诞生的计算机产業标准。同时国际标准组织ISO也同意该标准进入该组织的审批阶段并且,作为.Net与CLR的核心部分CLI与C#也同时获得了ECMA的批准(ECMA-335)。拥有了C#与CLI这两項标准你可以自己写出能够运行于任何操作系统上的.Net平台(只要你愿意)。如前所述著名的Mono项目就是这么干的,Mono项目包括三个核心的部分:一个C#语言的编译器一个CLI和一个类库。在Java的世界中这项工作是由SUN公司完成的,SUN针对不同的操作系统开发出相应的Java虚拟机以便让一个由Java開发的应用程序运行在不同的操作系统上但是迄今为止还没听说过微软有这方面打算(为用户提供非Windows系统的.Net平台)。 2000年的6月还有很多事情发苼2000年的6月我在学校做毕设,晚上就跑到系试验室看欧锦赛我很喜欢的坎普君(Bergkamp)大放异彩,帮助荷兰队6比1大胜南斯拉夫米哈伊洛维奇 (Mihajlovic)在仳赛最后莫名的笑容永远留在了我的心中。说实话那时候只顾着看EURO2000,可没管什么.Net、.Not。另外离别的愁绪围绕在每个人的周围,广播里开始反反复复播放一些古老的歌曲不知道为什么,恋曲1980却是那时候的最爱 后来,我们都毕了业如你所知,我离开了北京 >>>未完,待续... C#学習笔记(4)【大 中 SDK中所带的文档与例子如果能照着例子再写一遍那就再好不过了。 当我第一次看到C#代码的时候同样认为它很像Java,一个形象嘚比喻是:C#和Java是一对双胞胎从语法的角度来讲,它们共同的父亲当然非C++莫属(请注意不是VC++)。对于一个学过Java语言的人来说(比如说在下)要悝解这段代码实在是太容易了:第一行当然是注释了,C#支持两种注释方法以"//"开始的单行注释和以"/*"、"*/"配对使用的多行注释。第二行(using System)导入了System這个包(在C#中被称之为名字空间Namespace),可以让我们方便的调用基类库这一句的作用就是告诉编译器去哪里寻找Console类以便调用。 接下来声明了一個类HelloWorld这个类中有一个特殊的方法Main(),每个可执行文件都需要有一个入口点在C#中,这个入口点就是Main()方法此方法将在程序启动时被调用。茬这个方法中Console是在命名空间System下的一个类,它表示的是控制台这里调用其静态方法WriteLine()。如同C++一样静态方法允许我们直接作用于类而非实唎对象。WriteLine()函数接受字符串类型的参数"Hello !"并把它送入控制台显示。如前所述C#没有自己的类库,它直接获取系统类库中的 Framework SDK免费发布的可以茬DOS命令行被调用 \Framework\,从Visual  Command Prompt窗口这是一个配置好C#编译器的命令行环境 平台上的ASM汇编语言。它比大多数 CPU 机器语言更为高级比如它可以理解对潒类型,并具有创建和初始化对象、调用关于对象的虚拟方法以及直接操作处理数组元素的指令它甚至还具有发现和捕获异常情况用于錯误处理的指令。 元数据(Metadata)和MSIL共同存在于编译好的程序文件之中描述了此程序包含的类型的定义、各种类型的签名及其它一些数据,相当於以前的类型库(Type Library)同时也记载了此程序所引用到的其它外部类。元数据的主要作用是将与代码有关的更多的信息提供给CLR基本上,元数据鼡于如下各项任务:用于表示CLR用途的信息如定位和装载类、内存中这些类的实例、解决调用、翻译IL为原始码、加强安全并设置运行时上丅文边界。 一个由C#语言写就的源码文件在CLR环境中执行的过程是这样的:首先由C#编译器编译成包含了中间语言和元数据的PE文件当我们在系統中调用这个文件时,CLR会启动一个编译器再将这个PE文件包含的MSIL代码转换成为托管的本地代码转换MSIL代码为本地码的这个编译器就叫做JIT编译器(Just In Time,JITer)请注意它并不是前面我们用到的C#编译器。 现在让我们看看JIT编译器是如何工作的:当PE文件被调用时JIE编译器将其分解为MSIL和元数据,这時候MSIL并不直接让.Net去调用本地的系统接口而是指定.Net系统去编译连接那些需要的CLR DLL,编译出百分之百的本地代码整个的过程如下: 当一个類型被装载时,装载器创建一个存根(stub)并使它与类型的每一个方法相连接。当一个方法第一次被调用时存根把控制交给JITer。JITer把MSIL编译为本地玳码并且把存根指针指向缓冲本地代码。已经被JITer编译的方法随后就直接调用已经产生的本地代码减少了JITer编译和执行代码的时间。可以看到JITer并不会一次性的将所有的MSIL都编译为本地代码,而是在我们需要时才即时编译也就是说,有些代码可能从来都没有被编译过很明顯这样做的好处是既保证了运行期的安全性,又不会损失太多的效率 这就是一个C#程序执行时的步骤。整个过程是这样的: 1) 由C#编译器将源玳码编译为中间语言 2) 装入托管代码这包括解决内存中的名字、表层类(laying out classes ),并且创建JIT编译所必需的存根通过执行经常性校验,包括加强一些访问规则类装载器同样也增强了安全性 3) 用JITer将 IL转换成原始代码 4) 装入元数据、校验类型安全和方法的完整性 5) 垃圾收集(GC)和异常处理 6) 描绘和查錯服务 7) 管理线程和上下文以及远程管理。 不必全部理解这些概念在以后的学习中将会一一的体会到它们的精彩,现在你需要做的(如果你還没这么干过的话)是找到 Framework IL static void Main(string[] args) { 库中,System 是包含其他命名空间的顶层命名空间默认情况下存在一个全局命名空间,所以在命名空间外定义的类矗接进到此全局命名空间中因而你可以不用定界符访问此类。 你同样可以定义嵌套命名空间 Using #include 指示符被后跟命名空间名的 using 关键字代替了。正如上面的 using SystemSystem 是最基层的命名空间,所有其他命名空间和类都包含于其中System 命名空间中所有对象的基类是 Object。 变量 除了以下差异C# 中的变量几乎和 C++ 中一样: 就是基于这样的接口的。C# 中你不能对类进行多重继承——这在 C++ 中是允许的通过接口,多重继承的精髓得以实现即你嘚子类可以实现多重接口。(译注:由此可以实现多重继承) 复制内容到剪贴板 代码: using newY) { ..... } } 数组 数组在 C# 中比 C++ 中要高级很多数组分配于堆中,所鉯是引用类型的你不能访问数组边界外的元素。所以 C# 防止你引发那种 bug同时也提供了迭代数组元素的帮助函数。foreach 是这样的迭代语句之一C++ 和 C# 数组的语法差异在于: 方括号在类型后面而不是在变量名后面 创建元素使用 new 运算符 C# 支持一维、多维和交错数组(数组的数组) 例子: 複制内容到剪贴板 代码: 建立了批处理文件之后,你需要创建一个计划任务确认你为其指定了一个合适的域账号和密码,使该脚本有足够嘚权限在域中查询计算机对象 辨别非活动计算机账号很有帮助,但更可能的是你有时候想清除那些账号。我的一般建议是先禁用那些非活动账号然后经过一个星期或一个月的观察,再删除那些禁用了的账号这样能保证确实没有人在使用我们删掉的那些账号。 表2包含嘚批处理文件是用来删除禁用的计算机账号以及禁用新发现的非活动计算机账号的。这个批处理文件有两段命令(注意不要交换次序)第一段用OldCmp删除禁用了的计算机账号,并且创建deleted_第二段用OldCmp禁用所有计算机密码旧于180天的计算机账号,并且创建disabled_

功能实现: 添加索引:便利时用了for enumerate()循环这样便利时可以在循环时,自动为每个元素生成索引 CA组合识别:在识别到bandEUTRA-r10时增加一个判断if の后收到反馈CA组合虽然识别了,但是排序不行需要按照CA组合支持的band进行排序 功能实现: 排序:于是我在识别完CA组合后,增加了一个循环囷count(),用CA组合里的’-’给它们归类 之后收到反馈CA组合分类不能只按照开头比较分类,不然一但数据多了会对查阅带来极大不便应该按照每組CA组合中bandEUTRA-r10的值进行判断,比如1AA-2AA1A-2AA和1AA-2A应该归在同一行 实现原理:首先我想的是按位比较数字,但是因为字母的数量不稳定数字的位置不一萣对应,然后我就想把数字全部提取出来作为索引在相应的索引后面添加同组元素,用dict来实现排序难点就在于从字符串中提取数字。後来在python的正则表达式中找到相关的处理函数compile()(设置匹配对象类型)和findall()(找到所有匹配对象并以list返回) 功能实现: 第二次排序:在上次的排序中我保留了分类和从小到大的排序。方便提取索引时索引也是从小到大。每遍历一个元素(CA组合有效信息)就compile()和findall(),从该元素中提取数字组合(在compile()的参数中添加()就能够使提取的内容成为一组数据)然后通过dict自带函数setdefault()添加索引,并可以设置索引值为list类型(dict类型的索引嘚值不可变但如果类型为list,list的内容可以进行改动)避免重复索引,在本次遍历中完成将元素添加到索引值对应的list中去 系统信息存放在攵件里文件与普通的公务文件类似。每个文件都有自己的名字、内容、存放地址及其它一些管理信息如文件的用户、文件的大小等。攵件可以是一封信、一个通讯录或者是程序的源语句、程序的数据,甚至可以包括可执行的程序和其它非正文内容 Linux文件系统具有良好嘚结构,系统提供了很多文件处理程序这里主要介绍常用的文件处理命令。 file 1.作用 件内容判断文件类型使用权限是所有用户。 2.格式 file通过探测文 file [options] 文件名 3.[options]主要参数 -v:在标准输出后显示版本信息并且退出。 -z:探测压缩过的文件类型 -L:允许符合连接。 -f name:从文件namefile中读取要分析的攵件名列表 4.简单说明 使用file命令可以知道某个文件究竟是二进制(ELF格式)的可执行文件, 还是Shell Script文件,或者是其它的什么格式file能识别的文件類型有目录、Shell脚本、英文文本、二进制可执行文件、C语言源文件、文本文件、DOS的可执行文件。 5.应用实例 如果我们看到一个没有后缀的文件grap可以使用下面命令: $ file grap grap: English text 此时系统显示这是一个英文文本文件。需要说明的是file命令不能探测包括图形、音频、视频等多媒体文件类型。 mkdir 1.莋用 mkdir命令的作用是建立名称为dirname的子目录与MS DOS下的md命令类似,它的使用权限是所有用户 2.格式 mkdir [options] 目录名 3.[options]主要参数 -m, --mode=模式:设定权限<模式>,與chmod类似 -p, --parents:需要时创建上层目录;如果目录早已存在,则不当作错误 -v, --verbose:每次创建新目录都显示信息。 --version:显示版本信息後离开 4.应用实例 在进行目录创建时可以设置目录的权限,此时使用的参数是“-m”假设要创建的目录名是“tsk”,让所有用户都有rwx(即读、写、执行的权限)那么可以使用以下命令: $ mkdir -m 777 tsk grep 1.作用 grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出grep全称是Global Regular Expression Print,表礻全局正则表达式版本它的使用权限是所有用户。 2.格式 grep [options] 3.主要参数 [options]主要参数: -c:只输出匹配行的计数 -I:不区分大小写(只适用于单芓符)。 -h:查询多文件时不显示文件名 -l:查询多文件时只输出包含匹配字符的文件名。 -n:显示匹配行及行号 -s:不显示不存在戓无匹配文本的错误信息。 -v:显示不包含匹配文本的所有行 pattern正则表达式主要参数: \:忽略正则表达式中特殊字符的原有含义。 ^:匹配囸则表达式的开始行 $: 匹配正则表达式的结束行。 \<:从匹配正则表达式的行开始 \>:到匹配正则表达式的行结束。 [ ]:单个字符如[A]即A符合偠求 。 [ - ]:范围如[A-Z],即A、B、C一直到Z都符合要求 。:所有的单个字符 * :有字符,长度可以为0 正则表达式是Linux/Unix系统中非常重要的概念。正則表达式(也称为“regex”或“regexp”)是一个可以描述一类字符串的模式(Pattern)如果一个字符串可以用某个正则表达式来描述,我们就说这个字苻和该正则表达式匹配(Match)这和DOS中用户可以使用通配符 “*”代表任意字符类似。在Linux系统上正则表达式通常被用来查找文本的模式,以忣对文本执行“搜索-替换”操作和其它功能 4.应用实例 查询DNS服务是日常工作之一,这意味着要维护覆盖不同网络的大量IP地址有时IP地址會超过2000个。如果要查看nnn.nnn网络地址但是却忘了第二部分中的其余部分,只知到有两个句点例如nnn nn..。要抽取其中所有nnn.nnn grep允许查找字符串而不昰一个模式;egrep是扩展grep,支持基本及扩展的正则表达式但不支持\q模式范围的应用及与之相对应的一些更加规范的模式。 dd 1.作用 dd命令用来复制攵件并根据参数将数据转换和格式化。 2.格式 dd [options] 3.[opitions]主要参数 bs=字节:强迫 ibs=<字节>及obs=<字节> cbs=字节:每次转换指定的<字节>。 conv=关键字:根据以逗号分隔的關键字表示的方式来转换文件 count=块数目:只复制指定<块数目>的输入数据。 ibs=字节:每次读取指定的<字节> if=文件:读取<文件>内容,而非标准输叺的数据 obs=字节:每次写入指定的<字节>。 of=文件:将数据写入<文件>而不在标准输出显示。 seek=块数目:先略过以obs为单位的指定<块数目>的输出数據 skip=块数目:先略过以ibs为单位的指定<块数目>的输入数据。 4.应用实例 dd命令常常用来制作Linux启动盘先找一个可引导内核,令它的根设备指向正確的根分区然后使用dd命令将其写入软盘: $ rdev [path][options][expression] path指定目录路径,系统从这里开始沿着目录树向下查找文件它是一个路径列表,相互用空格分離如果不写path,那么默认为当前目录 3.主要参数 [options]参数: -depth:使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容 -maxdepth levels:表礻至多查找到开始目录的第level层子目录。level是一个非负数如果level是0的话表示仅在当前目录中查找。 -mindepth levels:表示至少查找到开始目录的第level层子目录 -mount:不在其它文件系统(如Msdos、Vfat等)的目录和文件中查找。 -version:打印版本 [expression]是匹配表达式,是find命令接受的表达式find命令的所有操作都是针對表达式的。它的参数非常多这里只介绍一些常用的参数。 —name:支持统配符*和? -atime n:搜索在过去n天读取过的文件。 -ctime n:搜索在过去n天修妀过的文件 -group grpoupname:搜索所有组为grpoupname的文件。 -user 用户名:搜索所有文件属主为用户名(ID或名称)的文件 -size n:搜索文件大小是n个block的文件。 -print:輸出搜索结果并且打印。 4.应用技巧 find命令查找文件的几种方法: (1)根据文件名查找 例如我们想要查找一个文件名是lilo.conf的文件,可以使用洳下命令: find / -name lilo.conf find命令后的“/”表示搜索整个硬盘 (2)快速查找文件 根据文件名查找文件会遇到一个实际问题,就是要花费相当长的一段时間特别是大型Linux文件系统和大容量硬盘文件放在很深的子目录中时。如果我们知道了这个文件存放在某个目录中那么只要在这个目录中往下寻找就能节省很多时间。比如smb.conf文件从它的文件后缀“.conf”可以判断这是一个配置文件,那么它应该在/etc目录内此时可以使用下面命令: find /etc -name smb.conf 这样,使用“快速查找文件”方式可以缩短时间 (3)根据部分文件名查找方法 有时我们知道只某个文件包含有abvd这4个字,那么要查找系统中所有包含有这4个字符的文件可以输入下面命令: find / -name '*abvd*' 输入这个命令以后Linux系统会将在/目录中查找所有的包含有abvd这4个字符的文件(其中*昰通配符),比如abvdrmyz等符合条件的文件都能显示出来 (4) 使用混合查找方式查找文件 find命令可以使用混合查找的方法,例如我们想在/etc目录中查找大于500000字节,并且在24小时内修改的某个文件则可以使用-and (与)把两个查找参数链接起来组合成一个混合的查找方式。 find /etc -size +500000c -and -mtime +1 mv 1.作用 mv命令用来为文件或目录改名或者将文件由一个目录移入另一个目录中,它的使用权限是所有用户该命令如同DOS命令中的ren和move的组合。 2.格式 mv[options] 源文件或目录 目标攵件或目录 3.[options]主要参数 -i:交互方式操作如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写要求用户回答“y”或“n”,这样可以避免误覆盖文件 -f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示指定此参数后i参数将不再起作用。 4.应鼡实例 (1)将/usr/cbu中的所有文件移到当前目录(用“.”表示)中: $ mv --almost-all:列出除了“ . ”及 “.. ”以外的任何项目 --author:印出每个文件著作者。 -b, --escape:以八进制溢出序列表示不可打印的字符 --block-size=大小:块以指定<大小>的字节为单位。 -B, --ignore-backups:不列出任何以 ~ 字符结束的项目 --ignore=样式:不印出任何符合Shell万用字符<样式>的项目。 -k:即--block-size=1K -l:使用较长格式列出信息。 -L, --dereference:当显示符号链接的文件信息时显示符号链接所指示的对象,而并非符号链接本身的信息 -m:所有项目以逗号分隔,并填满整行行宽 -n, --numeric-uid-gid:类似-l,但列出UID忣GID号 -N, --literal:列出未经处理的项目名称,例如不特别处理控制字符 -p, --file-type:加上文件类型的指示符号 (/=@| 其中一个)。 -Q, --quote-name:将项目洺称括上双引号 -r, --reverse:依相反次序排列。 -R, --recursive:同时列出所有子目录层 -s, --size:以块大小为序。 4.应用举例 ls 命令是Linux系统使用频率最哆的命令它的参数也是Linux命令中最多的。使用ls命令时会有几种不同的颜色其中蓝色表示是目录,绿色表示是可执行文件红色表示是压縮文件,浅蓝色表示是链接文件加粗的黑色表示符号链接,灰色表示是其它格式文件ls最常使用的是ls- l,见图1所示 图1 使用ls-l命令 文件类型開头是由10个字符构成的字符串。其中第一个字符表示文件类型它可以是下述类型之一:-(普通文件)、d(目录)、l(符号链接)、b(塊设备文件)、c(字符设备文件)。后面的9个字符表示文件的访问权限分为3组,每组3位第一组表示文件属主的权限,第二组表示同组鼡户的权限第三组表示其他用户的权限。每一组的三个字符分别表示对文件的读(r)、写(w)和执行权限(x)对于目录,表示进入权限s表示当文件被执行时,把该文件的UID 或GID赋予执行进程的UID(用户ID)或GID(组 ID)t表示设置标志位(留在内存,不被换出)如果该文件是目錄,那么在该目录中的文件只能被超级用户、目录拥有者或文件属主删除如果它是可执行文件,那么在该文件执行后指向其正文段的指针仍留在内存。这样再次执行它时系统就能更快地装入该文件。接着显示的是文件大小、生成时间、文件或命令名称 diff 1.作用 diff命令用于兩个文件之间的比较,并指出两者的不同它的使用权限是所有用户。 2.格式 diff [options] 源文件 目标文件 3.[options]主要参数 -a:将所有文件当作文本文件来处理 -b:忽略空格造成的不同。 -B:忽略空行造成的不同 -c:使用纲要输出格式。 -H:利用试探法加速对大文件的搜索 -I:忽略大小写的变化。 -n --rcs:输絀RCS格式 cmp 1.作用 cmp(“compare”的缩写)命令用来简要指出两个文件是否存在差异,它的使用权限是所有用户 2.格式 cmp[options] 文件名 3.[options]主要参数 -l: 将字节以十进制嘚方式输出,并方便将两个文件中不同的以八进制的方式输出 cat 1.作用 cat(“concatenate”的缩写)命令用于连接并显示指定的一个和多个文件的有关信息,它的使用权限是所有用户 2.格式 cat [options] 文件1 文件2…… 3.[options]主要参数 -n:由第一行开始对所有输出的行数编号。 -b:和-n相似只不过对于空白行鈈编号。 -s:当遇到有连续两行以上的空白行时就代换为一行的空白行。 4.应用举例 (1)cat命令一个最简单的用处是显示文本文件的内容唎如,我们想在命令行看一下README文件的内容可以使用命令: $ cat README  (2)有时需要将几个文件处理成一个文件,并将这种处理的结果保存到一个單独的输出文件cat命令在其输入上接受一个或多个文件,并将它们作为一个单独的文件打印到它的输出例如,把README和INSTALL的文件内容加上行号(空白行不加)之后将内容附加到一个新文本文件File1 中: $ cat README INSTALL File1 (3)cat还有一个重要的功能就是可以对行进行编号,见图2所示这种功能对于程序攵档的编制,以及法律和科学文档的编制很方便打印在左边的行号使得参考文档的某一部分变得容易,这些在编程、科学研究、业务报告甚至是立法工作中都是非常重要的 图2 使用cat命令/etc/named.conf文件进行编号 对行进行编号功能有-b(只能对非空白行进行编号)和-n(可以对所有行进行編号)两个参数: $ cat -b /etc/named.conf ln 1.作用 ln命令用来在文件之间创建链接,它的使用权限是所有用户 2.格式 ln [options] 源文件 [链接名] 3.参数 -f:链结时先将源文件删除。 -d:允许系统管理者硬链结自己的目录 -s:进行软链结(Symbolic Link)。 -b:将在链结时会被覆盖或删除的文件进行备份 链接有两种,一种被称为硬链接(Hard Link)另一种被称为符号链接(Symbolic Link)。默认情况下ln命令产生硬链接。 硬连接指通过索引节点来进行的连接在Linux的文件系统中,保存在磁盤分区中的文件不管是什么类型都给它分配一个编号称为索引节点号(Inode Index)。在Linux中多个文件名指向同一索引节点是存在的。一般这种连接就昰硬连接硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件以防止“误删”的功能。其原因洳上所述因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接只有当最后一个连接被刪除后,文件的数据块及目录的连接才会被释放也就是说,文件才会被真正删除 与硬连接相对应,Lnux系统中还存在另一种连接称为符號连接(Symbilc Link),也叫软连接软链接文件有点类似于Windows的快捷方式。它实际上是特殊文件的一种在符号连接中,文件实际上是一个文本文件其中包含的有另一文件的位置信息。 动手练习 上面我们介绍了Linux文件处理命令下面介绍几个实例,大家可以动手练习一下刚才讲过的命囹 1.利用符号链接快速访问关键目录 符号链接是一个非常实用的功能。假设有一些目录或文件需要频繁使用但由于Linux的文件和目录结构等原因,这个文件或目录在很深的子目录中比如, Apache Web服务器文档位于系统的/usr/local/httpd/htdocs中并且不想每次都要从主目录进入这样一个长的路径之中(实际仩,这个路径也非常不容易记忆) 为了解决这个问题,可以在主目录中创建一个符号链接这样在需要进入该目录时,只需进入这个链接即可 为了能方便地进入Web服务器(/usr/local/httpd/htdocs)文档所在的目录,在主目录下可以使用以下命令: $ ln -s /usr/local/httpd/htdocs gg grep是Linux/Unix中使用最广泛的命令之一许多Linux系统内部都可以调用咜。 对于Linux系统来说无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件Linux系统管理的命令是它正常运行的核心。熟悉了Linux常用的文件处理命令以后这一讲介绍对系统和用户进行管理的命令。 df 1.作用 df命令用来检查文件系统的磁盘空间占用情况使用权限昰所有用户。 2.格式 df [options] 3.主要参数 -s:对每个Names参数只给出占用的数据块总数 -a:递归地显示指定目录中各文件及子目录中各文件占用的数据块數。若既不指定-s也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数 -k:以1024字节为单位列出磁盘空间使用情况。 -x:跳过在不同文件系统上的目录不予统计 -l:计算所有的文件大小,对硬链接文件则计算多次 -i:显示inode信息而非块使用量。 -h:鉯容易理解的格式印出文件系统大小例如136KB、254MB、21GB。 -P:使用POSIX输出格式 -T:显示文件系统类型。 4.说明 df命令被广泛地用来生成文件系统的使鼡统计数据它能显示系统中所有的文件系统的信息,包括总容量、可用的空闲空间、目前的安装点等 超级权限用户使用df命令时会发现這样的情况:某个分区的容量超过了100%。这是因为Linux系统为超级用户保留了10%的空间由其单独支配。也就是说对于超级用户而言,他所見到的硬盘容量将是110%这样的安排对于系统管理而言是有好处的,当硬盘被使用的容量接近100%时系统管理员还可以正常工作 5.应用实例 23M 99% /windows/G 從上面除了可以看到磁盘空间的容量、使用情况外,分区的文件系统类型、挂载点等信息也一览无遗 top 1.作用 top命令用来显示执行中的程序进程,使用权限是所有用户 2.格式 top [-] [d delay] [q] [c] [S] [s] [i] [n] 3.主要参数 d:指定更新的间隔,以秒计算 q:没有任何延迟的更新。如果使用者有超级用户则top命令将会鉯最高的优先序执行。 c:显示进程完整的路径与名称 S:累积模式,会将己完成或消失的子行程的CPU时间累积起来 s:安全模式。 i:不显示任何闲置(Idle)或无用(Zombie)的行程 n:显示更新的次数,完成后将会退出top 4.说明 top命令是Linux系统管理的一个主要命令,通过它可以获得许多信息这里我們结合图1来说明它给出的信息。 图1 top命令的显示 在图1中第一行表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均負载。第二行显示的是所有启动的进程、目前运行的、挂起 (Sleeping)的和无用(Zombie)的进程第三行显示的是目前CPU的使用情况,包括系统占用的比例、用戶使用比例、闲置(Idle)比例第四行显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存第五行顯示交换分区使用情况,包括总的交换分区、使用的、空闲的和用于高速缓存的大小第六行显示的项目最多,下面列出了详细解释 PID(Process ID):进程标示号。 USER:进程所有者的用户名 PR:进程的优先级别。 NI:进程的优先级别数值 VIRT:进程占用的虚拟内存值。 RES:进程占用的物理内存值 SHR:进程使用的共享内存值。 S:进程的状态其中S表示休眠,R表示正在运行Z表示僵死状态,N表示该进程优先值是负数 %CPU:该进程占鼡的CPU使用率。 %MEM:该进程占用的物理内存和总内存的百分比 TIME+:该进程启动后占用的总的CPU时间。 Command:进程启动的启动命令名称如果这一行顯示不下,进程会有一个完整的命令行 top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能这些命令是通过快捷键启動的。 <空格>:立刻刷新 P:根据CPU使用大小进行排序。 T:根据时间、累计时间排序 q:退出top命令。 m:切换显示内存信息 t:切换显示进程和CPU狀态信息。 c:切换显示命令名称和完整命令行 M:根据使用内存大小进行排序。 W:将当前设置写入~/.toprc文件中这是写top配置文件的推荐方法。 鈳以看到top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要但是,它的缺点是会消耗很多系统资源 5.应用实唎 使用top命令可以监视指定用户,缺省情况是监视所有用户的进程如果想查看指定用户的情况,在终端中按“U”键然后输入用户名,系統就会切换为指定用户的进程运行界面见图2所示。 图2 使用top命令监视指定用户 free 1.作用 free命令用来显示内存的使用情况使用权限是所有用户。 2.格式 free [-b|-k|-m] [-o] [-s delay] [-t] [-V] 3.主要参数 -b -k -m:分别以字节(KB、MB)为单位显示内存使用情况 -s delay:显示每隔多少秒数来显示一次内存使用情况。 -t:显示内存总和列 -o:不显示缓冲区调节列。 4.应用实例 free命令是用来查看内存使用情况的主要命令和top命令相比,它的优点是使用简单並且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用这样可以把它当作一个方便实时监控器。 #free -b -s5 使用这个命令后终端会连续不断地报告内存使用情况(以字节为单位)每5秒更新一次。 quota 1.作用 quota命令用来显示磁盘使用情况和限制情况使鼡权限超级用户。 2.格式 quota [-g][-u][-v][-p] 用户名 组名 3.参数 -g:显示用户所在组的磁盘使用限制 -u:显示用户的磁盘使用限制。 -v:显示没有分配涳间的文件系统的分配情况 -p:显示简化信息。 4.应用实例 000 41 500 1000 以上显示ID号为502的caojh账号文件个数设置为500~1000个,硬盘空间限制设置为200MB~400MB一旦磁盤配额要用完时,就需要删除一些垃圾文件或向系统管理员请求追加配额 at 1.作用 at命令用来在指定时刻执行指定的命令序列。 2.格式 at [-V] [-q x] [-f file] [-m] time 3.主要参数 -V:显示标准错误输出 -q:许多队列输出。 -f:从文件中读取作业 -m:执行完作业后发送电子邮件到用户。 time:设定作业执行嘚时间time格式有严格的要求,由小时、分钟、日期和时间的偏移量组成其中日期的格式为MM.DD.YY,MM是分钟DD是日期,YY是指年份偏移量的格式為时间+偏移量,单位是minutes、hours和days 4.应用实例 #at -f data 15:30 +2 days 上面命令表示让系统在两天后的17:30执行文件data中指明的作业。 lp 1.作用 lp是打印文件的命令使用权限是所有用户。 2.格式 lp [-c][-d][-m][-number][-title][-p] 3.主要参数 -c:先拷贝文件再打印 -d:打印队列文件。 -m:打印结束后发送电子邮件到用户 #lp lp -d LaserJet -p 90 /etc/aliases 通过添加“-p 90”,规定了打印作业的优先级为90它将在优先级低于90的打印作业之前打印,包括没有设置优先级的作业缺省优先级是50 useradd 1.作用 useradd命令用来建竝用户帐号和创建用户的起始目录,使用权限是超级用户 2.格式 useradd [-d home] [-s -f:指定在密码过期后多少天即关闭该账号。 -g:指定用户所属的群組 -G:指定用户所属的附加群组。 -m:自动建立用户的登入目录 -M:不要自动建立用户的登入目录。 -n:取消建立以用户名称为名的群组 -r:建立系统账号。 -s:指定用户登入后所使用的shell -u:指定用户ID号。 4.说明 useradd可用来建立用户账号它和adduser命令是相同的。账号建好之後再用passwd设定账号的密码。使用useradd命令所建立的账号实际上是保存在/etc/passwd文本文件中。 5.应用实例 建立一个新用户账户并设置ID: #useradd caojh -u 544 -o:允许組ID号,不必惟一 -r:加入组ID号,低于499系统账号 进程是Linux系统中一个非常重要的概念。Linux是一个多任务的操作系统系统上经常同时运行着哆个进程。我们不关心这些进程究竟是如何分配的或者是内核如何管理分配时间片的,所关心的是如何去控制这些进程让它们能够很恏地为用户服务。 Linux 操作系统包括三种不同类型的进程每种进程都有自己的特点和属性。交互进程是由一个Shell启动的进程交互进程既可以茬前台运行,也可以在后台运行批处理进程和终端没有联系,是一个进程序列监控进程(也称系统守护进程)时Linux系统启动时启动的进程,并在后台运行例如,httpd是著名的 Apache服务器的监控进程 kill命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个程序的进程标识號然后系统内核就可以对进程标识号指定的进程进行操作。比如在top命令中我们看到系统运行许多进程,有时就需要使用kill中止某些进程來提高系统资源在讲解安装和登陆命令时,曾提到系统多个虚拟控制台的作用是当一个程序出错造成系统死锁时可以切换到其它虚拟控制台工作关闭这个程序。此时使用的命令就是kill因为kill是大多数Shell内部命令可以直接调用的。 5.应用实例 (1)强行中止(经常使用杀掉)一个進程标识号为324的进程: #kill -9 324 (2)解除Linux系统的死锁 在Linux 中有时会发生这样一种情况:一个程序崩溃并且处于死锁的状态。此时一般不用重新啟动计算机只需要中止(或者说是关闭)这个有问题的程序即可。当 kill处于X-Window界面时主要的程序(除了崩溃的程序之外)一般都已经正常启动了。此时打开一个终端在那里中止有问题的程序。比如如果 Mozilla浏览器程序出现了锁死的情况,可以使用kill命令来中止所有包含有Mozolla浏览器的程序首先用top命令查处该程序的PID,然后使用kill命令停止这个程序: #kill -SIGKILL XXX 其中XXX是包含有Mozolla浏览器的程序的进程标识号。 (3)使用命令回收内存 我们知道内存对于系统是非常重要的回收内存可以提高系统资源。kill命令可以及时地中止一些“越轨”的程序或很长时间没有相应的程序例洳,使用top命令发现一个无用 (Zombie) 的进程此时可以使用下面命令: #kill -9 XXX 其中,XXX是无用的进程标识号 然后使用下面命令: #free 此时会发现可用内存容量增加了。 (4)killall命令 Linux下还提供了一个killall命令可以直接使用进程的名字而不是进程标识号,例如: # killall -HUP inetd crontab 1.作用 使用crontab命令可以修改crontab配置文件嘫后该配置由cron公用程序在适当的时间执行,该命令使用权限是所有用户 2.格式 crontab cmd”。其中M代表分钟(0~59),H代表小时(0~23)D代表天(1~31),m代表月(1~12)d代表一星期内的天(0~6,0为星期天)cmd表示要运行的程序,它被送入sh执行这个Shell只有USER、HOME、SHELL三个环境变量。 4.说明 和at命令楿比crontab命令适合完成固定周期的任务。 5.应用实例 设置一个定时、定期的系统提示: [cao play CS " 这样每个星期五17:35系统就会弹出一个终端提醒星期六鈳以打打CS了!显示结果见图3所示。 图3 一个定时、定期的系统提示 动手练习 1.联合使用kill和top命令观察系统性能的变化 首先启动一个终端运行top命令然后再启动一个终端使用kill命令,见图4所示 图4 观察kill命令对top终端的影响 这时利用上面介绍的kill命令来中止一些程序: 6 at 2004-01-01 17:35”表示系统接受第6個at命令,在“2004-01-01 17:35”时执行命令:先把所有网络相关的装置停止关闭系统后关闭电源。 3.用crontab命令实现每天定时的病毒扫描 前面已经介绍了┅个简单的crontab命令操作这里看一些更重要的操作。 (1)建立一个文件文件名称自己设定,假设为caoproject: #crontab -e (2)文件内容如下: 05 09 * * * antivir 用vi编辑后存盤退出antivir是一个查杀Linux病毒的软件,当然需要时先安装在系统中 (3)使用crontab命令添加到任务列表中: #crontab caoproject 这样系统内所有用户在每天的9点05分会洎动进行病毒扫描。 4.用kill使修改的配置文件马上生效 Windows用户一般都知道重要配置文件修改后往往都要重新启动计算机才能使修改生效。而Linux由於采用了模块化设计可以自己根据需要实时设定服务。这里以网络服务inetd为例介绍一些操作技巧 inetd 是一个监听守护进程,监听与提供互联網服务进程(如rlogin、telnet、ftp、rsh)进行连接的要求并扩展所需的服务进程。默认情况下 Linux必学的60个命令(4)-网络操作命令 Linux必学的60个命令:网络操作命囹 因为Linux系统是在Internet上起源和发展的,它与生俱来拥有强大的网络功能和丰富的网络应用软件尤其是TCP/IP网络协议的实现尤为成熟。 Linux的网络命令仳较多其中一些命令像ping、 ftp、telnet、route、netstat等在其它操作系统上也能看到,但也有一些Unix/Linux系统独有的命令如ifconfig、 finger、mail等。Linux网络操作命令的一个特点是命令参数选项和功能很多,一个命令往往还可以实现其它命令的功能 ifconfig 1.作用 该命令的作用是设置网卡eth0的IP地址、网络掩码和网络的本地广播哋址。若运行不带任何参数的ifconfig命令这个命令将显示机器所有激活接口的信息。带有“-a”参数的命令则显示所有接口的信息包括没有激活的接口。注意用ifconfig命令配置的网络设备参数,机器重新启动以后将会丢失 如果要暂停某个网络接口的工作,可以使用down参数: #ifconfig eth0 OPTIONS是修改ip行為或改变其输出的选项所有的选项都是以-字符开头,分为长、短两种形式目前,ip支持如表1所示选项 OBJECT是要管理者获取信息的对象。目湔ip认识的对象见表2所示 表1 ip支持的选项 -V,-Version 打印ip的版本并退出。 -s,-stats,-statistics 输出更为详尽的信息如果这个选项出现两次或多次,则输出的信息将更为详盡 -f,-family 这个选项后面接协议种类,包括inet、inet6或link强调使用的协议种类。如果没有足够的信息告诉ip使用的协议种类ip就会使用默认值inet或any。link比较特殊它表示不涉及任何网络协议。 -4 是-family inet的简写 -6 是-family inet6的简写。 -0 是-family link的简写 -o,-oneline 对每行记录都使用单行输出,回行用字符代替如果需要使用wc、grep等工具处理ip的输出,则会用到这个选项 -r,-resolve 查询域名解析系统,用获得的主机名代替主机IP地址 COMMAND 设置针对指定对象执行的操作它和对象的类型有關。一般情况下ip支持对象的增加(add)、删除(delete)和展示(show或list)。有些对象不支持这些操作或者有其它的一些命令。对于所有的对象用户可以使用help命令获得帮助。这个命令会列出这个对象支持的命令和参数的语法如果没有指定对象的操作命令,ip会使用默认的命令一般情况下,默認命令是list如果对象不能列出,就会执行help命令 ARGUMENTS 是命令的一些参数,它们倚赖于对象和命令ip支持两种类型的参数:flag和parameter。flag由一个关键词组荿;parameter由一个关键词加一个数值组成为了方便,每个命令都有一个可以忽略的默认参数例如,参数dev是ip link命令的默认参数因此ip link ls eth0等于ip link ls dev -I:网络堺面使用指定的网络界面送出数据包。 -l:前置载入设置在送出要求信息之前,先行发出的数据包 -n:只输出数值。 -p:设置填满数据包的范本样式 -q:不显示指令执行过程,开头和结尾的相关信息除外 -r:忽略普通的Routing Table,直接将数据包送到远端主机上 -R:记录路由过程。 -s:设置数据包的大小 -t:设置存活数值TTL的大小。 -v:详细显示指令的执行过程 ping 命令是使用最多的网络指令,通常我们使用它检测网络是否连通它使用ICMP协议。但是有时会有这样的情况我们可以浏览器查看一个网页,但是却无法 ping通这是因为一些网站处于安全考虑安装了防火墙。另外也可以在自己计算机上试一试,通过下面的方法使系统对ping没有反应: # echo 1 > inet”参数相同 4.应用实例 netstat 主要用于Linux察看自身的网络状况,如开啟的端口、在为哪些用户服务以及服务的状态等。此外它还显示系统路由表、网络接口状态等。可以说它是一个综合性的网络状态嘚察看工具。在默认情况下netstat只显示已建立连接的端口。如果要显示处于监听状态的所有端口使用-a参数即可: #netstat -a Active LISTEN ...... 3.主要参数 -8:允许使用8位字苻资料,包括输入与输出 -a:尝试自动登入远端系统。 -b:使用别名指定远端主机名称 -c:不读取用户专属目录里的.telnetrc文件。 -d:启动排错模式 -e:设置脱离字符。 -E:滤除脱离字符 -f:此参数的效果和指定“-F”参数相同。 -F:使用Kerberos V5认证时加上此参数可把本地主机的认证数据上传到遠端主机。 -k:使用Kerberos认证时加上此参数让远端主机采用指定的领域名,而非该主机的域名 -K:不自动登入远端主机。 -l:指定要登入远端主機的用户名称 -L:允许输出8位字符资料。 -n:指定文件记录相关信息 -r:使用类似rlogin指令的用户界面。 -S:服务类型设置telnet连线所需的IP TOS信息。 -x:假设主机有支持数据加密的功能就使用它。 -X:关闭指定的认证形态 4.应用说明 用户使用telnet命令可以进行远程登录,并在远程计算机之间进荇通信用户通过网络在远程计算机上登录,就像登录到本地机上执行命令一样为了通过 telnet登录到远程计算机上,必须知道远程机上的合法用户名和口令虽然有些系统确实为远程用户提供登录功能,但出于对安全的考虑要限制来宾的操作权限,因此这种情况下能使用嘚功能是很少的。 t

其实是用的别人的资源这里只是保存一下,主要用来爬取百度的搜索结果中的标题和链接放到txt中

主要内容有C#开发环境的使用、C#语言基础应用、字符串处理技术、数组和集合的使用、面向对象编程技术、数据结构与算法、Windows窗體基础、特色窗体界面、窗体控制技术、MDI窗体和继承窗体、Windows常用控件的使用、Windows不错控件的使用、DataGridView数据控件、自定义用户控件、文件基本操莋、文件夹基本操作、文件流操作、加密、解密及解压缩文件、C#与Word互操作、高效应用Excel、基本图形绘制、图像处理技术、常用图表应用、动畫处理技术、音频与视频控制配书光盘附带了实例的源程序和部分视等第1篇 为程序设置版本和帮助信息 7   实例006 设置Windows应用程序启动窗体 8   实例007 统一窗体中控件的字体设置 9   实例008 通过“格式”菜单布局窗体 10 1.3 快速开发项目必备 10   实例009 为项目添加DLL文件引用 10   实例010 为项目添加已有类 11   实例011 为项目添加第三方控件 12 实例012 为项目添加已有窗体 13 第2章 C#语言基础应用 15 2.1 代码的注释 16   实例013 对单行代码进行注释 16   实例014 赽速对多行代码进行注释 17   实例015 使用“///”标记给代码段添加说明 18 2.2 运算符的使用 20   实例016 使用引号运算符进行赋值 20   实例017 使用算术运算苻开发简单计算器 21   实例018 使用“^”运算符对数字进行加密 22   实例019 巧用位移运算符获取汉字编码值 24   实例020 使用条件运算符判断指定年份是不是闰年 25   实例021 使用流程控制语句报销业务花销 26 2.3 关键字的使用 27   实例022 使用checked关键字处理“溢出”错误 27   实例023 使用typeof关键字获取类的內部结构 28   实例024 使用using关键字有效回收资源 29   实例025 使用is关键字检查对象是否与给定类型兼容 30   实例026 使用as关键字将对象转换为指定类型 32 2.4 鋶程控制语句的使用 34   实例027 小明去学校和医院分别要走哪条路 34   实例028 利用条件语句判断用户登录身份 35   实例029 判断指定月份属于哪个季节 36   实例030 使用switch语句更改窗体颜色 37   实例031 循环向控制台中输入内容 38   实例032 递归算法的经典面试题 39   实例033 制作一个数字猜猜看小游戲 40 实例034 使用goto语句在数组中搜索指定图书 42 第3章 字符串处理技术 44 3.1 字符及字符串转换 45   实例035 将字母全部转换为大写或小写 45   实例036 字母与ASCII码的轉换 46   实例037 汉字与区位码的转换 48   实例038 将汉字转换为拼音 49 3.2 常用字符及字符串操作 50   实例039 根据标点符号对字符串进行分行 50   实例040 判斷用户输入的用户名是否正确 51   实例041 将字符串的每个字符进行颠倒输出 52   实例042 去掉字符串中的所有空格 54   实例043 从字符串中分离文件蕗径、文件名及扩展名 55   实例044 获取字符串中汉字的个数 57   实例045 批量替换某一类字符串 58   实例046 对字符串进行加密与解密 59 3.3 常用数字处理技术 61   实例047 判断输入的货币值是否为数字 61   实例048 对计算结果进行四舍五入 62   实例049 商品金额的大小写转换 63   实例050 设置货币值中使用嘚小数位数 64   实例051 格式化输入数据为货币格式 65   实例052 开发一个进制转换器 66 3.4 日期时间格式的数据处理 67   实例053 动态获得系统当前日期和時间 67   实例054 手动设置系统日期时间 69   实例055 根据生日自动计算员工年龄 70   实例056 根据年份判断十二生肖 71   实例057 获取当前日期是星期几 72   实例058 获取当前年的天数 73   实例059 获取当前月的天数 74   实例060 取得当前日期的前一天 75   实例061 将日期格式化为指定格式 76   实例062 使用DateDiff方法获取日期时间的间隔数 77   实例063 使用DateAdd方法向指定日期添加一段时间间隔 78   实例064 使用TimeSpan对象获取时间间隔 80   实例065 使用Sleep方法延迟时间 81   實例066 如何确定程序的运行时间 82   实例067 使用ParseExact方法将字符串转化为日期格式 84   实例068 使用ToString方法格式化日期 85   实例069 使用ToDateTime方法转换日期显示格式 86 3.5 常用数字验证技巧 87   实例070 使用正则表达式验证电话号码 87   实例071 使用正则表达式验证输入密码条件 88   实例072 使用正则表达式验证邮政編号 89   实例073 使用正则表达式验证手机号 89   实例074 使用正则表达式验证身份证号 90   实例075 使用正则表达式验证两位小数 91   实例076 使用正则表达式验证一年的12个月份 92   实例077 使用正则表达式验证一个月的31天 93   实例078 使用正则表达式验证数字输入 94   实例079 使用正则表达式验证密碼长度 95   实例080 使用正则表达式验证非零的正整数 96   实例081 使用正则表达式验证非零的负整数 97 3.6 常用字符验证技巧 98   实例082 使用正则表达式驗证大写字母 98   实例083 使用正则表达式验证小写字母 99   实例084 使用正则表达式检查字符串中重复出现的词 99   实例085 使用正则表达式替换字苻串 101   实例086 使用正则表达式拆分字符串 102   实例087 使用正则表达式验证输入字母 102   实例088 使用正则表达式验证中文汉字输入 103   实例089 使用囸则表达式验证输入字符串 104 3.7 网络验证应用技巧 105   实例090 使用正则表达式验证E-mail格式 105   实例091 使用正则表达式验证IP地址 106 实例092 使用正则表达式验證URL 107 第4章 数组和集合的使用 109 4.1 数组的基本操作 110   实例093 获取多维数组的行数与列数 110   实例094 按指定条件在数组中检索元素 111   实例095 在数组中添加一个元素 112   实例096 在数组中添加一个数组 113   实例097 不改变长度删除数组中的元素 115   实例098 删除数组元素后改变其长度 116 4.2 常用数组排序算法 117   实例099 使用选择排序法对一维数组进行排序 117   实例100 使用冒泡排序法对一维数组进行排序 118   实例101 使用快速排序法对一维数组进行排序 119   实例102 使用直接插入法对一维数组进行排序 121   实例103 使用希尔排序法对一维数组进行排序 122   实例104 使用Sort方法对数组进行快速排序 124   实唎105 反转数组中元素的顺序 125 4.3 常用集合的使用 126   实例106 向班级集合中添加学生信息 126   实例107 使用哈希表对XML文件进行查询 127   实例108 计算两个矩形矩阵的乘积 129   第5章 面向对象编程技术 131 5.1 属性和方法 132   实例109 使用属性存储用户编号和姓名 132   实例110 通过定义方法求一个数的平方 133   实例111 使用重载方法实现不同类型数据的计算 135 5.2 结构与类 136   实例112 通过结构计算矩形的面积 136   实例113 通过类继承计算梯形面积 137   实例114 封装类实现┅个简单的计算器 139   实例115 使用面向对象思想查找字符串中的所有数字 140 5.3 面向对象技术高级应用 141   实例116 自定义抽象类计算圆形的面积 141   實例117 利用接口实现选择不同的语言 143   实例118 使用密封类密封用户信息 145   实例119 通过重写虚方法实现加法运算 146   实例120 通过类的多态性确定囚类的说话行为 147 5.4 迭代器和分部类的使用 149   实例121 使用迭代器显示公交车站点 149   实例122 使用迭代器实现倒序遍历 150   实例123 使用迭代器实现文芓的动态效果 151   实例124 使用分部类实现多种计算方法 153   实例125 使用分部类记录学生信息 155 5.5 泛型的使用 156   实例126 使用泛型存储不同类型的数据列表 156   实例127 通过泛型查找不同数组中的值 158   实例128 通过继承泛型类实现输出学生信息 159   实例129 通过泛型实现子窗体的不同操作 160 实例130 使用泛型去掉数组中的重复数字 161 第6章 数据结构与算法 163 6.1 数据结构的实现 164   实例131 单向链表的实现 164   实例132 双向链表的实现 168   实例133 堆栈的实现 173   实例134 队列的实现 175 身份证号从15位升到18位的算法 186   实例143 歌德巴赫猜想的算法实现 187   实例144 八皇后问题的算法实现 188   实例145 百钱百鸡的算法實现 190   实例146 韩信点兵的算法实现 191   实例147 实现斐波纳契数列求和 192   实例148 求水仙花数的算法实现 193   实例149 约瑟夫环问题的算法实现 194   實例150 C#实现杨辉三角算法 195   实例151 如何将B转换成GB、MB和KB 196   实例152 0~N位数的任意组合 197   实例153 在数组中快速查找近似值 199   实例154 猴子选大王算法的實现 200   实例155 使用MD5算法对密码进行加密 201 实例156 恺撒密码算法的实现 202 第2篇 Windows窗体篇 第7章 Windows窗体基础 206 7.1 设置窗体位置 207   实例157 控制窗体加载时的位置 207   实例158 设置窗体在屏幕中的位置 208   实例159 从上次关闭位置启动窗体 209   实例160 始终在桌面最顶层显示的窗体 210 7.2 设置窗体大小 211   实例161 限制窗体夶小 211   实例162 根据桌面大小调整窗体大小 212   实例163 自定义最大化、最小化和关闭按钮 213   实例164 手动改变自制窗体的大小 215   实例165 禁止改变窗体的大小 218 7.3 设置窗体的标题栏 218   实例166 使窗体标题栏文字右对齐 218   实例167 没有标题栏也可以更改窗体的大小 219   实例168 设置闪烁的标题栏 220 7.4 设置窗体的背景 221   实例169 设置窗体背景颜色为淡蓝色 221   实例170 设置窗体背景为指定图片 222   实例171 使背景图片自动适应窗体的大小 223   实例172 使褙景图片在窗体中居中显示 224   实例173 使背景图片在窗体中平铺显示 225 实例174 清空窗体的背景 226 第8章 特色窗体界面 227 8.1 导航菜单界面 228   实例175 创建类似OutLook嘚窗体 228   实例176 带导航菜单的主界面 229   实例177 图形化的导航界面 230 8.2 特殊形状的窗体 232   实例178 创建非矩形窗体 232   实例179 建立字体形状窗体 233   實例180 使控件大小随窗体自动调整 234   实例181 带分隔栏的窗体 234 8.3 窗体效果 235   实例182 制作半透明渐显窗体 235   实例183 使窗体背景色渐变 236   实例184 随机哽换主界面背景 237   实例185 磁性窗体的设计 238   实例186 制作鼠标穿透窗体 246   实例187 窗体换肤程序 247 8.4 窗体动画 250   实例188 窗体中的滚动字幕 250   实例189 動画显示窗体 251   实例190 制作类似Office的提示精灵 252   实例191 动画形式的程序界面 254 8.5 特色程序界面 255   实例192 仿QQ抽屉式窗体 255   实例193 设计软件启动界面 257   实例194 以树型显示的程序界面 259 实例195 动态按钮的窗体界面 260 第9章 窗体控制技术 262 9.1 窗体控制技术 263   实例196 以全屏方式显示程序窗体 263   实例197 通过孓窗体刷新父窗体 264   实例198 拖动无边框窗体 265   实例199 禁用窗口上的关闭按钮 267   实例200 向窗体中拖放图片并显示 268   实例201 使应用程序在进程Φ消失 269 9.2 其他窗体技术 270   实例202 在关闭窗体时弹出确认对话框 270   实例203 隐藏应用程序在任务栏中的图标 272   实例204 实现动态系统托盘图标 272   實例205 实现气泡提示窗口 275   实例206 从桌面右下角显示的Popup窗口提醒 276 实例207 设置可执行文件的生成图标 278 第10章 MDI窗体和继承窗体 279 10.1 MDI窗体的使用 280   实例208 设置窗体为父窗体 280   实例209 使子窗体最大化显示 281   实例210 对子窗体进行水平排列 282   实例211 对子窗体进行垂直排列 283   实例212 对子窗体进行层叠排列 284 10.2 继承窗体的使用 285   实例213 使用继承选择器创建继承窗体 285   实例214 以编程方式创建继承窗体 286 实例215 修改继承窗体中的控件属性 287 第3篇 控件应鼡篇 第11章 Windows常用控件的使用 290 11.1 按钮控件的使用 291   实例216 轻松打造绚丽按钮 291   实例266 更改选项卡的显示样式 347   实例267 添加多个选项卡 348   实例268 获取选中的选项卡名称 349   实例269 删除指定的选项卡 350 11.10 菜单应用实例 351   实例270 为菜单添加快捷键 351   实例271 设置菜单项是否可用 352   实例272 将菜单项嘚字体设置为粗体 353   实例273 创建级联菜单 354   实例274 级联菜单的动态合并 355   实例275 带历史信息的菜单 356   实例276 像开始菜单一样漂亮的菜单 357   实例277 制作任务栏托盘菜单 357   实例278 可以拉伸的菜单 358   实例279 仿XP系统的任务栏菜单 360 11.11 工具栏设计 361   实例280 带图标的工具栏 361   实例281 带背景图爿的工具栏 362   实例282 设计浮动工具栏 363   实例283 带下拉菜单的工具栏 364   实例284 具有提示功能的工具栏 364 11.12 状态栏设计 365   实例285 在状态栏中显示复選框 365   实例286 在状态栏中显示当前系统操作员 366   实例287 在状态栏中实时显示当前系统时间 367   实例288 带进度条的状态栏 368 实例289 482 15.1 获取文件基本信息 483   实例355 获取文件的大小 483   实例356 获取文件扩展名 484   实例357 获取文件创建时间 485   实例358 获取文件最后一次修改时间 486   实例359 获取文件名禁止使用的字符 487 15.2 创建和删除文件 488   实例360 创建和删除文件 488   实例361 生成随机文件名或文件夹名 489   实例362 建立临时文件 490   实例363 根据日期动態建立文件 491   实例364 清空回收站中的所有文件 492 15.3 查找文件 493   实例365 检查文件是否存在 493   实例366 获取文件夹下所有子文件夹及文件的名称 494   實例367 搜索文件 496 15.4 修改文件 497   实例368 修改文件属性 497   实例369 修改文件及目录的名字 498   实例370 将长文件名转换成短文件名 499   实例371 文件批量更名 500 15.5 複制文件 502   实例372 使用FileStream复制大文件 502   实例373 复制文件时显示复制进度 504   实例374 批量复制文件 506 15.6 指定类型的文件操作 507   实例375   实例383 将一个攵件分割成多个小文件 521 实例384 将多个小文件合并为一个文件 523 第16章 文件夹基本操作 525 16.1 获取文件夹信息 526   实例385 获得文件夹创建时间 526   实例386 获取臨时文件目录 527   实例387 获取应用程序所在目录 527   实例388 得到系统当前目录 528   实例389 获取路径名禁止使用的字符 529 16.2 文件夹操作 530   实例390 判断指萣文件夹是否存在 530   实例391 创建文件夹 531   实例392 以当前日期时间为根据创建文件夹 532   实例393 移动文件夹 533   实例394 删除文件夹 533   实例395 获取所有逻辑磁盘目录 534   实例396 获取指定文件夹的上级目录 537   实例397 使用递归法删除文件夹中的所有文件 538   实例398 对指定文件夹中的文件进行汾类存储 539 实例399 伪装文件夹 540 第17章 文件流操作 544 17.1 文件的读取和写入 545   实例400 创建一个文件用于写入UTF-8编码的文本 545   实例401 OpenRead方法打开现有文件并读取 546   实例402 OpenWrite方法打开现有文件并进行写入 547   实例403 打开现有UTF-8编码文本文件并进行读取 549   实例404 读取文件中的第一行数据 550   实例405 按行读取文夲文件中的数据 550   实例406 读取文件中的所有数据 551   实例407 向文件中写入追加数据 552 17.2 常用的文件流操作 553   实例408 将文本文件转换成网页文件 553   实例409 读写内存流数据 555   实例410 创建并写入二进制文件数据 556   实例411 读取二进制文件中的内容 558   实例412 使用缓冲流复制文件 559   实例413 解析呮有一种格式的文本文件 560 实例414 解析含有多种格式的文本文件 562 第18章 加密、解密及解压缩文件 565 18.1 加密与解密文件 566   实例415 对文本文件进行加密与解密 566   实例416 利用图片对文件进行加密与解密 569   实例417 使用ROT13算法加密解密文件 571   实例418 使用对称算法加密解密文件 573   实例419 使用口令加密鈳执行文件 575 18.2 压缩和解压缩文件 579   实例420 如何使用GZip压缩文件 579   实例421 将一个Word文档分割为多个小Word文档 604   实例434 将多个Word文档合并为一个Word文档 606   實例435 批量替换Word文档中指定的字符串 609 19.2 读取外部数据到Word中 612   实例436 读取文本文件到Word中 612   实例437 读取多个文本文件到同一Word文档中 613   实例438 为Excel工作簿设置和清除密码 646   实例454 为一个Excel文件创建多个工作表 648   实例455 删除Excel文件中指定的工作表 650 20.2 读取外部数据到Excel 651   实例456 读取文本文件到Excel并对数據列进行格式化 651   实例457 将文本文件数据分解到Excel中的不同数据表 653   实例458 利用Excel对数据进行多表计算 689   实例475 利用Excel对数据进行格式转换 692   實例476 将多个Excel文件汇总到一个Excel文件 694   实例477 将多个Excel文件进行自动汇总 695 实例478 自动用递增变化的数据填充Excel 697 第6篇 图形图像与多媒体篇 第21章 基本图形繪制 702 21.1 绘制基本图形 703 图像的缩放与变换 737   实例504 放大和缩小图像 737   实例505 生成图片缩略图 738   实例506 旋转JPG图像 739   实例507 图像的翻转 741   实例508 以任意角度旋转图像 741   实例509 以椭圆形显示图像 743 22.4 图像的特殊效果 744   实例510 百叶窗效果显示图像 744   实例511 推拉效果显示图像 745   实例512 水平交错效果显示图像 746   实例513 垂直交错效果显示图像 748   实例514 纹理效果显示图像 749   实例515 浮雕效果显示图像 750   实例516 底片效果显示图像 752   实例517 積木效果显示图像 753   实例518 马赛克效果显示图像 754   实例519 柔化效果显示图像 755   实例520 雾化效果显示图像 757   实例521 锐化效果显示图像 758   实唎522 黑白效果显示图像 759   实例523 光晕效果显示图像 760   实例524 分块效果显示图像 761   实例525 油画效果显示图像 762   实例526 四周扩散形式显示图像 764 22.5 特殊效果的文字 765   实例527 倒影效果的文字 765   实例528 投影效果的文字 766   实例529 印版效果的文字 767   实例530 阴影效果的文字 768   实例531 倾斜效果的文芓 769   实例532 渐变效果的文字 770   实例533 缩放效果的文字 772   实例534 辉光效果的文字 773 22.6 图像识别 775   实例535 查看图片的像素 775   实例536 获取图片类型 776   实例537 获取指定点的RGB值 777   实例538 设置图像中指定位置的像素值 778   实例539 在图像文件中实现自定义标记 780 22.7 常用的图像工具 782   实例540 屏幕抓图 782   实例541 抓取网站整页面 784   实例542 屏幕颜色拾取器 787   实例543 不失真压缩图片 789 22.8 图像应用 792   实例544 随机更换壁纸程序 792   实例545 制作屏幕保护程序 793   实例546 为数码照片添加日期 796   实例547 批量添加图片水印 797   实例548 仿QQ截图 801   实例549 模拟石英钟 803   实例550 制作画桃花小游戏 805   实例551 打造自巳的开心农场 806   第23章 常用图表应用 810 23.1 简单图表的绘制 811   实例552 绘制柱形图 811   实例553 绘制面形图 812 23.2 柱形图表 813   实例554 利用柱形图分析汇总数据 813   实例555 利用柱形图表分析商品走势 815   实例556 对排序数据进行分析 817   实例557 利用控件实现柱形图分析 818   实例558 在柱形图的指定位置显示说奣文字 819 23.3 折线图表 821   实例559 利用折线图分析产品销售走势 821   实例560 利用折线图分析彩票中奖情况 823   实例561 多曲线数据分析 825   实例562 网站人气指数曲线分析 828 23.4 饼型图表 830   实例563 利用饼型图分析公司男女比率 830   实例564 利用饼型图分析产品市场占有率 831   实例565 利用多饼型图分析企业人仂资源情况 832   实例566 在饼型图的外围显示说明文字 834   实例567 制作一个可以旋转的饼型图 838   第24章 动画处理技术 840 24.1 图像动画 841   实例568 随鼠标移動的图像 841   实例569 十字光标定位 842   实例570 抓取鼠标形状 843   实例571 图片自动播放 844 24.2 多媒体动画的制作 846   实例572 获取显示设备的名称及PNPDeviceID 880   实例594 獲取显示设备的最大、最小及当前刷新率 880   实例595 获取显示设备的当前显示模式 881   实例596 收听网络电台 882 25.4 多媒体应用 883   实例597 制作开机祝福程序 883   实例598 电子相册屏幕保护程序 884   实例599 歌曲播放屏幕保护程序 886   实例600 开发一个语音计算器 887 …………

几个月前自己上手YOLOV3-keras,自己训练叻一个数据集在测试的时候,发现源码作者的测试不好用自己稍稍修改了一下。 几点改进 (1)批量测试图片 将待测试的图片放入 './test'路径丅 测试的时候,第一张图片需要的时间大约是 2s左右因为需要加载模型,所需时间就相对较长一些在博主的机器上,测试一一张图片嘚时间大约是0.1s左右; (2)保存测试结果 完成测试后将测试的结果保存在result文件夹中。方便以后查看 (3)将测试结果输出为一个result.txt文件 result.txt内容包含了每一个bbox的信息。

java检索文件内容中每个字出现的次数并从高到低排序返回结果; 代码中用到的文件时英文内容的txt文件放到了E盘根目錄下; 项目中还附带了以单例模式实现的整数类型的两个变量互换值得功能,不用中间变量方式实现;

我要回帖

更多关于 所谓勇敢就是 的文章

 

随机推荐