-
[C#] C# 摘引SHDocVw 实现模拟网页操作
C#引用SHDocVw实现模拟网页操作因为最近项目需要,所以接触到了网页爬取。1.HttpWebRequest初期接触的都是一些比较简单的网页,通过Fiddler抓包分析后,就能模拟进行http请求,进行想要的操作。2.WebBrower控件后面接触到一些复杂的网页,模拟登录一套比较难实现,并且网站...
493
热度 -
[C#] 图解.NET Stack跟Heap的本质区别
图解.NETStack和Heap的本质区别现在越来越觉得对.NET基本概念的理解和掌握对于提升编程水平的重要性,先从.NET的Stack(栈)和Heap(堆)说起,计算机的内存可以分为代码块内存,stack内存和heap内存。代码块内存是在加载程序时存放程序机器代码的地方。Stack一般存放函数内的...
412
热度 -
[C#] CLR via C#深解札记四
CLRviaC#深解笔记四实例构造器和类(引用类型)构造器(constructor)是允许将类型的实例初始化为良好状态的一种特殊方法。构造器方法在“方法定义元数据表”中始终叫.ctor。创建一个引用类型的实例时:#1,首先为实例的数据字段分配内存#2,然后初始化对象的附加字段...
406
热度 -
[C#] 【复建学习】02 何处重构
【重构学习】02何处重构?1、重复代码解决方案:重复代码位于同一个类:提炼成新函数进行调用重复代码位于不同的子类:提炼成函数放进父类重复代码位于完全不相干的类:提炼出一个新的类,将重复代码放进新的类中重复代码并非完全相同,存在些微差异性:用模版方法的设计模式解决2、函数过长和参数列过长修改点:有注释...
198
热度 -
[C#] 【复建学习】05 函数的重构
【重构学习】05函数的重构《重构》这本书的代码都是java,我准备用C#来一遍。而今天我的主要任务是写一大段垃圾代码出来,然后重构(仅限于函数的,不涉及到其它方面的重构)。程序界面:功能介绍:侠客名字自己取,然后点击按钮随机角色的属性,根骨,经脉,柔韧,悟性等四项属性值都是随机而来。其他的都是由这四...
318
热度 -
[C#] 【复建学习】03 重构与测试
【重构学习】03重构与测试新的一年了,我却在这里写这个鬼《重构》的这一章主要是讲java的一个测试框架,我直接就跳着看了只是简单的看了一下它的思想重构需要一个良好的测试体系,而我们需要为重构构建一个这样的体系,这是重构的前提不需要期待完美测试,需要的是不完美的测试已经在实际执行了测试的时候考虑可能出...
155
热度 -
[C#] Nancy 引用源码与NuGet装配差异
Nancy引用源码与NuGet安装差异使用NuGet安装Nancy和直接引用源码项目存在一些差异,如序列化,授权验证问题。如果引用源码的话,自定义JsonSerializer,如下:注意,需要使用NuGet安装Newtonsoft.JsonpublicclassCustomJsonNetSerial...
363
热度 -
[C#] 多线程下C#怎么保证线程安全
多线程下C#如何保证线程安全?多线程编程相对于单线程会出现一个特有的问题,就是线程安全的问题。所谓的线程安全,就是如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的。线程安全问题都是由全局变...
346
热度 -
[C#] C#中var、int、object性能比较(已匡正)
C#中var、int、object性能比较(已修正)var关键字是.net3.5推出的关键字,主要是让编译器自动推断并判断变量类型,类似javascript中的var。在使用一些性能优化软件时,在代码优化时,我发现不管定义什么类型的变量,变量的类型都统统换成var。难道var的性能比具体的类型和ob...
268
热度 -
[C#] C#面向对象 类的打包
C#面向对象类的封装1classstudent2{3publicint_code;4publicintCode//属性5{6//获取值7get8{9return5;10}11//设置值12set13{14_code=value+9;15}16}17privatestring_name;18publi...
672
热度 -
[C#] 【复建学习】06 类的重构
【重构学习】06类的重构好吧,这一章要不要自己写一段示例代码考虑了很久,貌似还是不写的好,因为感觉这一章异常的简单这一章就是关于类的方法和字段并不合理,所以在搬移方法和字段1、搬移函数修改点:一个函数与其所在类外的另一个类进行了过多的交流,调用后者或被后者调用动机:因为出现上述情况,就会出现高度耦合...
93
热度 -
[C#] 富文本编辑器里提取简介-正则表达式替换标签
富文本编辑器里提取简介--正则表达式替换标签1staticvoidCkeditor()2{3stringtags=@"<p><spanstyle=""font-size:18px"">12</span>34</p>";4//正则表达式的引擎是贪婪,只要...
394
热度 -
[C#] 腾挪AD的计算机到对应的OU的powershell脚本
移动AD的计算机到对应的OU的powershell脚本#//*************************************************************#//编辑人:#//编辑单位:#//编辑作用:移动计算机到对应的OU下#//编制时间:2016.01.05#//***...
322
热度 -
[C#] 记要一下switch case 的注意的用法
记录一下switchcase的注意的用法平常我们在做多个条件判断的时候喜欢用switch(表达式){case:常量1表达式1;break;case:常量2表达式2;break;case:常量3表达式3;break;....default:常量4表达式4;break;}这里记录几点给自己做个备忘:1、...
148
热度 -
[C#] var和dynamic的区别及怎么正确使用dynamic
var和dynamic的区别及如何正确使用dynamic?C#中的很多关键词用法比较容易混淆,var和dynamic就是其中一组,他们都可以申明动态类型的变量,但是本质上他们还是有不少区别的。var在编译阶段已经确定类型,在初始化时候,必须提供初始化的值,而dynamic则可以不提供,它是在运行时才...
362
热度 -
[C#] 【复建学习】10 继承关系的重构
【重构学习】10继承关系的重构1、字段上移修改点:两个子类拥有相同的字段做法:将该字段移至父类2、函数上移修改点:有些函数,在各个子类中产生完全相同的效果做法:将该函数移至父类有一种特殊情况也需要这么做:子类函数覆盖了父类的,但是仍然做着相同的工作在此重构中你可能会遇到一种情况,就是你提炼的函数调用...
418
热度 -
[C#] 【复建学习】09 函数调用的重构
【重构学习】09函数调用的重构之前写了个函数的重构,这里写的是函数的调用的重构,不同哦,是为了写出让别人好调用的函数(或接口)。1、函数改名修改点:函数的名称未能提示函数的用途。做法:修改函数的名称如果你想给函数写上一句什么注释,那么你就把这个注释想办法作为名称写上好了。Martin原话:你可能无法...
201
热度 -
[C#] C# 怎么从List集合当中取出子集合
C#如何从List集合当中取出子集合今天项目要求随机从数据库中随机取出若干条数据,放到首页。那么要如何随机取出这个子集合呢?本人向到的方法如下:1、假设数据量很少,如我数据库中只有10条数据,而我要求随机取出8条。对于这种低数据量,大可以一次过全部取出放到父集合当中,然后随机remove去两条。Li...
304
热度 -
[C#] c#中的引用类型跟值类型
c#中的引用类型和值类型一,c#中的值类型和引用类型众所周知在c#中有两种基本类型,它们分别是值类型和引用类型;而每种类型都可以细分为如下类型:什么是值类型和引用类型什么是值类型:进一步研究文档,你会发现所有的结构都是抽象类型System.ValueType的直接派生类,而System.ValueT...
235
热度 -
[C#] powershell对txt文件的服务器开展ping操作
powershell对txt文件的服务器进行ping操作powershell对txt文件的服务器进行ping操作,txt文件有几百台服务器要进行Ping操作。每行一个#//*************************************************************#//...
237
热度