随笔分类 -  c#笔记

摘要:前言 这篇其实是上两篇的两个主题思想的承接和发散: 我也想少写注释,想用2-4个很清晰的单词去描述函数,但是这个函数好复杂啊,我恨不得写近百字去描述它,要我用几个单词去描述?臣妾实在是做不到啊~ <如何做到少写注释> 我也不想写这么多if else,然后看着那一堆一堆{}{{}{}{{}}}}}}} 阅读全文
posted @ 2014-08-30 15:56 碎景 阅读(14274) 评论(37) 推荐(16) 编辑
摘要:使用数据实体的好处我这里就不多说了,但大家享受这些好处的时候,难免也对那些琐碎的赋值代码感到厌烦,基于此,我认为掌握一个oom的使用,还是很有必要的. 这种类型的工具有很多,比如automapper,EmitMapper,还有和orm混合的dapper等,各有各的特色, 但综合性能,扩展,易用... 阅读全文
posted @ 2014-07-24 23:43 碎景 阅读(3033) 评论(1) 推荐(1) 编辑
摘要:ajax相信大家都用过,随着现在web站的要求越来越高,ajax毫无疑问是bs开发中最常用的必备技能之一。但很多人觉得ajax这东西理解起来很难,用起来不顺畅,容易出现“莫名其妙”的问题,难以掌控。更有甚者,觉得ajax是很牛逼的技术。同时,市面上也有很多ajax控件,比较有代表性的是两个,微软的updatepanel和ajaxpro。这里我不讲他们的用法,就试图从bs本质和http角度去解读一下它们。首先,我得说明下,我对这两个控件,仅仅只是“用过”的层次,掌握的并不深,比如updatepanel,有很多很灵活的用法,我都见过,但没有去使用和深究。没有调查就没有发言权,我这篇文,也绝不是抨击 阅读全文
posted @ 2013-10-17 01:26 碎景 阅读(538) 评论(1) 推荐(0) 编辑
摘要:写在前文:对asp.net这门技术,我个人的感情是比较矛盾的,喜欢她,是因为这门技术带领我走进了bs的大门,让我完成了从cs程序员到bs程序员的转变。而厌恶她,则是因为,我差点就被她带入了歧途,通过对http请求处理的层层封装,弄个runat server和viewState,让bs程序(表明上)可以像cs一样的运行。这确实是降低了bs的入门门槛,但也造成了asp.net程序员对bs本质的理解的障碍,导致写起程序来,总感觉隔着点什么。 首先,说下我自己接触asp.net的过程,大三搞android,大四上搞的是winform,大四下学期自己看了2个月的j2ee,也就学到serverlet处理. 阅读全文
posted @ 2013-10-04 00:50 碎景 阅读(383) 评论(0) 推荐(0) 编辑
摘要:对线程同步做一个总结,一般来说,线程同步比较让人纠结的地方在于它是许多线程共用一段代码的,而且什么时候谁用谁不用,也基本是不可控制不可预料的,那么对于它们可能会同时访问并更改的数据,就需要加锁了。加锁就是将一段代码变为临界区 —— 一段在同一时候只被一个线程进入/执行的代码,加锁的方式一般有两种,Lock关键字C#提供lock关键字实现临界区,MSDN里给出的用法:Object thisLock= new Object();lock (thisLock){ // Critical code section} 此方法的难点是如何选择锁的对象,比如写日志类,如果是静态对象锁自身,那么即使是不冲突的 阅读全文
posted @ 2013-03-12 14:06 碎景 阅读(178) 评论(0) 推荐(0) 编辑
摘要:由于子系统中的任务,需要处理的数据量比较大,为了提高系统工作效率,老大要求使用多线程来执行任务,而我刚好负责流程控制这一块,当时真是被多线程折腾的死去活来,这个系统其实是有原型可以参考的,而且这个原型系统是久经考验,稳定性也很高;所以老大给我的时间并不多,我当时也没意识到难度会如此之大,但原型使用的是单线程,很多模块在单线程下跑得很欢,一到多线程就各种难了。其实现在想来,使用多线程并行处理数据,真心不算个好的决定。多线程适合处理的任务性质多为耗时的等待,或轮询判断状态。而此数据管理系统的瓶颈却是cpu运算和硬盘数据传输速度,后来测试结果也显示,多线程对性能的提升并不算太明显。当然这个不是... 阅读全文
posted @ 2013-03-07 10:36 碎景 阅读(429) 评论(0) 推荐(0) 编辑
摘要:分而治之思想,面对一个体系很庞大(相对我而言)的程序的开发,首先应将程序合理的划分一些层次和模块,不要至上而下的开发,不然可能呆坐半天而下不了手,应该先把下层的小模块做好,再组装起来,即使组装的时候发现了很多需要修改的地方,也不是很要紧,利用resharper和vs的强大的重构和提示功能,完成修改并不算困难。写这段话的时候,还是我实习中刚开始参加开发工作的时候(2012年的8-9月份),那时我水的一比,给我一个很小的功能模块,我都下不了手.我还记得这段话的背景是:我要开发一个小功能,读取文本文件,里面有一些坐标和卫星图像的参数信息,我需要读取出来,然后通过一个复杂的计算公式,求出某个投影坐标, 阅读全文
posted @ 2013-03-07 10:35 碎景 阅读(174) 评论(0) 推荐(0) 编辑
摘要:以前使用java编写功能函数的时候,总感觉模块之间的耦合和模块之间的数据传递的便利,两者有点鱼与熊掌不可兼得比如我在ReadCameraFile类中读取出camera参数数据,保存在类成员变量——arraylist中,其他类通过对象去获取这个arraylist,那么这两个类的耦合就有点高了,而且还有一个弊端就是,用arraylist保存数据,那么取出的时候,也要严格按照存入的顺序取出,比如我第一个数据是片号,第7个数据是X3的值,存取过程繁琐易出错?用map同样如此,key的值没有提示,取数据的人,同样不知道map里面有哪些key?这样以后开发大型应用的时候,很可能会乱套,而且反复的装箱和拆箱 阅读全文
posted @ 2013-03-07 09:51 碎景 阅读(181) 评论(0) 推荐(0) 编辑
摘要:连续看了两天的某大型数据管理系统的代码,感觉现在有点头晕眼花的,刚开始我是在main函数入口处设置断点,然后将程序跑起来看看程序运行的顺序,结果各种函数的跳转和类的new马上就把我搞晕 了。后来是直接让程序跑起来,在触发过断点的调试状态下运行程序,如果触发事件,程序是可以自己停下来的,这样我就知道了那些功能到底是在哪里实现的,也可以在运行的过程中点击暂停,用f10开始跑起来,方便定位。看到现在,也差不多有了一个大概的印象,其实结构倒不是很复杂。里面界面、模块虽然多,但事实上都是很简单的平行关系,并不涉及到复杂的组装,嵌套。整体布局是比较流行的ribbon布局,主界面把各模块的位置分好,功能界面 阅读全文
posted @ 2013-03-05 22:48 碎景 阅读(350) 评论(0) 推荐(0) 编辑
摘要:公司的调岗是有考核的,当时我进入研发部的考核是2星期之内用c#开发一个winform程序,包括DevExpress的gridControl控件的使用,oracle数据库连接,数据的增删改查等功能,和使用arcgis engine控件完成地图的显示。我以前基本没使用过c#,这两星期也包括了对c#熟悉的过程。不过还好,我对java比较熟悉,而c#的基本语法部分和java相似度非常高,数据库操作流程写起来不算困难,而且偷偷的在这里说一下,由于内部消息,我大概猜到熟悉c#是个必须要求,所以提前一个星期就开始学习c#了,等于多了一半的考核时间,最后当然是轻松过关了。只是Dev控件种类丰富,功能强大,但也 阅读全文
posted @ 2013-03-05 22:00 碎景 阅读(207) 评论(0) 推荐(0) 编辑

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