51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#代替
【转】编写高质量代码改善C#程序的157个建议——建议58:用抛出异常代替返回错误代码
建议58:用抛出异常代替返回错误代码CLR异常机制的优点:正常控制流会被立即中止,无效值或状态不会在系统中继续传播。提供了统一的处理错误的方法。提供了在构造函数、操作符重载及属性中报告异常的遍历机制。提供了异常堆栈,便于开发者定位异常发生的位置。不应该将异常机制用于正常控制流中,异常的发生是一个小概率事件,...
代码星球
·
2020-04-06
代码
建议
编写
高质量
改善
【转】编写高质量代码改善C#程序的157个建议——建议37:使用Lambda表达式代替方法和匿名方法
建议37:使用Lambda表达式代替方法和匿名方法在建议36中,我们创建了这样一个实例程序:staticvoidMain(string[]args){Func<int,int,int>add=Add;Action<string>print=Print;print(add(1,2).T...
代码星球
·
2020-04-06
建议
方法
编写
高质量
代码
【转】编写高质量代码改善C#程序的157个建议——建议20:使用泛型集合代替非泛型集合
建议20:使用泛型集合代替非泛型集合在建议1中我们知道,如果要让代码高效运行,应该尽量避免装箱和拆箱,以及尽量减少转型。很遗憾,在微软提供给我们的第一代集合类型中没有做到这一点,下面我们看ArrayList这个类的使用情况:ArrayListal=newArrayList();al.Add(0);al.Ad...
代码星球
·
2020-04-06
建议
集合
编写
高质量
代码
【转】编写高质量代码改善C#程序的157个建议——建议18:foreach不能代替for
建议18:foreach不能代替for上一个建议中提到了foreach的两个优点:语法更简单,默认调用Dispose方法,所有我们强烈建议在实际的代码编写中更多的使用foreach。但是,该建议也有不适合的场景。foreach存在一个问题:它不支持循环时对集合进行增删操作。比如,运行下面代码会抛出异常Inv...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
【转】编写高质量代码改善C#程序的157个建议——建议150:使用匿名方法、Lambda表达式代替方法
建议150:使用匿名方法、Lambda表达式代替方法方法体如果过小(如小于3行),专门为此定义一个方法就会显得过于繁琐。比如:staticvoidSampeMethod(){List<string>list=newList<string>(){"Mike","Rose","Steve...
代码星球
·
2020-04-06
建议
方法
编写
高质量
代码
【转】编写高质量代码改善C#程序的157个建议——建议110:用类来代替enum
建议110:用类来代替enum枚举(enum)用来表示一组固定的值。例如,为了表示星期信息,我们可以定义枚举Week:enumWeek{Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday}枚举最大的优点在于它的类型是值类型。相比较引用类型来说,它...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
【转】编写高质量代码改善C#程序的157个建议——建议104:用多态代替条件语句
建议104:用多态代替条件语句假设要开发一个自动驾驶系统。在设计之初,此自动驾驶系统拥有一个驾驶系统命令的枚举类型:enumDriveCommand{Start,Stop}当前该枚举存在两个命令:开始、停止。又假设有一个驾驶方法可以处理车辆接收到的指令。一开始我们可能像下面这样编码:staticvoidMa...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
【转】编写高质量代码改善C#程序的157个建议——建议80:用Task代替ThreadPool
建议80:用Task代替ThreadPoolThreadPool相对于Thread来说具有很多优势,但是ThreadPool在使用上却存在一定的不方便。比如:ThreadPool不支持线程的取消、完成、失败通知等交互性操作。ThreadPool不支持线程执行的先后次序。以往,如果开发者要实现上述功能,需要完...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
【转】编写高质量代码改善C#程序的157个建议——建议79:使用ThreadPool或BackgroundWorker代替Thread
建议79:使用ThreadPool或BackgroundWorker代替Thread使用线程能极大地提升用户体验度,但是作为开发者应该注意到,线程的开销是很大的。线程的空间开销来自:1)线程内核对象(ThreadKernelObject)。每个线程都会创建一个这样的对象,它主要包含线程上下文信息,在32位系...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
慎用ArrayList的contains方法,使用HashSet的contains方法代替
在启动一个应用的时候,发现其中有一处数据加载要数分钟,刚开始以为是需要load的数据比较多的缘故,查了一下数据库有6条左右,但是单独写了一个数据读取的方法,将这6万多条全部读过来,却只需要不到10秒钟,就觉得这里面肯定有问题,于是仔细看其中的逻辑,其中有一段数据去重的逻辑,就是记录中存在某几个字段相同的,就认为是重复数...
代码星球
·
2020-04-04
contains
方法
慎用
ArrayList
使用
js手机号码中间用星号代替。银行卡后四位之外改为星号
如手机号码13123456789,中间四位用'*'代替varphone='13123456789'方法1(字符串的截取):varshowPhone=phone.substr(0,3)+'****'+phone.substr(7); 方法2(正则表达式):varshowPhone=phone.replace(/...
代码星球
·
2020-04-02
星号
js
手机号码
中间
代替
截取字符串指定内容,并用*号代替
<div>12345678</div>jq:vartex=$("div").text();varstr=tex.substr(1,6);//表示截取从第2位开始到第7位结束的字符串,此处即234567$("div").text(tex.replace(str,"**"));//用两个*代替刚才截...
代码星球
·
2020-04-02
截取
字符串
指定
内容
并用
linux 怎么用 名字 代替 ip ?
比如ssh1.1.1.1变成sshusr1 在每台机子的/etc/hosts文件中添加ip与名字的对应表...
IT猿
·
2020-03-27
linux
怎么
名字
代替
ip
canvas代替imgage,可以有效的提高大图片加载的速度!
//加载zepto插件<script>//定义图片的数量vartotal=17;//获取屏幕的宽度varzWin=$(window);//定义渲染图片的方法varrender=function(){//图片的间距varpadding=2;//图片存放位置的宽度varwinWidth=zWin.width()...
IT猿
·
2020-03-26
canvas
代替
imgage
可以
有效
使用git代替FTP部署代码到服务器的例子
这篇文章主要介绍了使用git代替FTP部署代码到服务器的例子,这种方法可以节省流量、节省时间,需要的朋友可以参考下本地开发完成后,通常会在服务器上部署,有人会使用ftp,有人会使用scp,ftp和scp的时候为了方便我们通过还要tar或者zip一下,这些做法也很不错,但是它有一些问题1.全部更新,不管某些文件是否修改,...
IT猿
·
2020-03-26
使用
git
代替
FTP
部署
首页
上一页
1
2
3
4
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他