随笔分类 -  C# 基础

dotNetSpider 手记
摘要:准备工作: 从github上download工程。 安装VS2017。 安装 .net core 2.0。 编译通过。 基础架构: 调度器 Scheduler 从根site开始,向 Downloader 分配请求任务。 Downloader 根据分配到的请求任务,向目标site 下载 page,并交 阅读全文
posted @ 2017-08-31 18:44 青墨淡潋 阅读(398) 评论(0) 推荐(0)
APS.NET MVC入门-运行基础示例
摘要:1. 关键词--路由 配置整个Web系统的路径结构,一般在 Global.asax.cs 中执行 RouteConfig.RegisterRoutes。 url模式:ASP.NET 会对应地将名称映射为 controller、action、id; 默认的根位置:对应 Home 的 controlle 阅读全文
posted @ 2017-03-04 17:22 青墨淡潋 阅读(302) 评论(0) 推荐(0)
http协议请求规则与dotNet的解析
摘要:请求方法URI协议/版本 请求的第一行是“方法URL议/版本”:GET/sample.jsp HTTP/1.1 以上代码中“GET”代表请求方法,“/sample.jsp”表示URI,“HTTP/1.1代表协议和协议的版本。 根据HTTP标准,HTTP请求可以使用多种请求方法。例如:HTTP1.1支 阅读全文
posted @ 2017-01-08 19:06 青墨淡潋 阅读(278) 评论(0) 推荐(0)
VS-FluentData 单元测试
摘要:1. 使用VS2013建立一个控制台工程: 2. 再建立一个单元测试工程: 在测试--窗口--测试资源管理器,打开测试资源管理器。 按F6生成解决方案,就可以看到带有 [TestClass][TestMethod]的方法会显示在测试资源管理器中。 流程都跑通了,接着就可以在单元测试方法中,引入要测试 阅读全文
posted @ 2016-12-29 18:01 青墨淡潋 阅读(179) 评论(0) 推荐(0)
简单反射练习
摘要:主要是: 利用反射对实例进行构造; 以及调用实例的方法; 12.2 补充构造实例: 阅读全文
posted @ 2016-11-06 21:37 青墨淡潋 阅读(224) 评论(0) 推荐(0)
应用程序域进一步认识
摘要:新知识点: 一个AppDomain中创建的对象不能由另一个AppDomain的代码进行访问,必须进行特殊的声明,使用特殊的跨域调用; AppDomain 可以单独配置; 每个AppDomain都有自己的Loader堆,记录自AppDomain创建以来,访问过哪些类型,每个类型对象都有一个方法表,指向 阅读全文
posted @ 2016-11-06 11:25 青墨淡潋 阅读(141) 评论(0) 推荐(0)
C# Dispose Finalize
摘要:比较值得参考的文档:http://www.jb51.net/article/37214.htm。 .NET 的内存管理过程: 托管堆假设内存无限大,线性连续分配内存; 实际内存不够使用时,遍历托管堆对资源,对过期资源进行标记; 移除被标记的资源后对托管堆进行压缩(重新从头开始排列),调整堆指针到空闲 阅读全文
posted @ 2016-11-05 22:16 青墨淡潋 阅读(160) 评论(0) 推荐(0)
.NET 元数据
摘要:1. 安装 ILDASM 工具 VS -- 外部工具 -- 添加 -- 命令行为:C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\ILDASM.EXE 2. 转两篇比较良心的博客: http://ww 阅读全文
posted @ 2016-10-29 14:37 青墨淡潋 阅读(225) 评论(0) 推荐(0)
关于序列化与接口编程
摘要:最初的疑问是,为什么要用 protobuf ? 而不直接用字节流 ? 字节流也是一种序列化的方式! 以前我们将对象转换为字节流,也要手动写转换API的,而 protobuf 提供了一种可跨平台描述的、较为快速的、且能压缩大小的序列化方式。 面向接口编程,主要用于对外做逻辑抽象,外部只调用抽象接口,而 阅读全文
posted @ 2016-10-27 17:00 青墨淡潋 阅读(157) 评论(0) 推荐(0)
C# 正则表达式、Json
摘要:正则表达式: 正则表达式主要的参考文章:http://www.cnblogs.com/stg609/archive/2009/06/03/1492709.html#anchorD。 需求:将cocos2dx客户端上传的Json对象转换为C#对象。 Json对象: 服务端不需要"__cname"属性。 阅读全文
posted @ 2016-10-11 19:36 青墨淡潋 阅读(1496) 评论(0) 推荐(0)
C# Attribute
摘要:Attribute 是C#非常重要的一块内容,需要研究一下。 Attribute 的简单使用:简而言之,就是可以自定义通用标志位,而不是在每个所需的类型中分别增加标志位。 看来马上要学习一下 C# 的反射原理了。 阅读全文
posted @ 2016-09-01 11:02 青墨淡潋 阅读(232) 评论(0) 推荐(0)
.Net 4.5 Task
摘要:Task 是 .Net4.0 新出的异步调用方法,粗略看了一下基本对外屏蔽了线程的概念,写异步调用更专注于应用本身。 执行结果: 可以看到: 1. 每种执行异步方法的任务ID都是不同的; 2. task1 与 task 在同一个线程上执行,意味着任务数与线程数并不一一对应,应该是有一个线程池在支持; 阅读全文
posted @ 2016-08-24 20:24 青墨淡潋 阅读(481) 评论(0) 推荐(0)
C# 部分关键字
摘要:关键字: virtual: 虚方法,本身可以被实例化,也可以在派生类中重写该方法; override:在派生类重写基类虚方法时声明,避免了C++中的潜在运行错误; abstract:声明为抽象类、抽象方法,不能实例化; sealed: 不可被继承类、不能被重写方法; param: 表示函数参数为一维 阅读全文
posted @ 2016-08-24 11:47 青墨淡潋 阅读(255) 评论(0) 推荐(0)
程序集与应用程序域基础练习
摘要:1. 程序集 程序集是自我描述的安装单位。 程序集清单:描述了程序集和引用它所需要的所有信息。 查看程序集:ildasm 工具 程序集特性:VS会生成 AssemblyInfo.cs 文件,描述程序集特性,用于配置程序集清单。 用“C#高级编程”的例子来学习创建与动态加载程序集: 值得注意的是:只要 阅读全文
posted @ 2016-08-17 17:40 青墨淡潋 阅读(243) 评论(0) 推荐(0)
使用C#的自定义事件
摘要:先插入一段代码,这个例子的 Action<string> 表示只有一个 string 参数,如果有一组的参数的话,代码写起来会比较难看。 .Net 给我们提供了基于 EventArgs 来进行传参 的 自定义事件 EventHandler。 可以 EventHandler 理解为“发布者提供的订阅器 阅读全文
posted @ 2016-08-10 11:37 青墨淡潋 阅读(287) 评论(0) 推荐(0)
C# 基于委托的事件
摘要:事件基于多播委托的特性。 多播委托事实上就是一组类型安全的函数指针管理器,调用则执行顺序跳转到数组里所有的函数指针里执行。 基于该例,我们用“多播委托”的概念来重写: 我只想知道,在多播委托的基础上,事件有哪些自身的特性?从以上两个例子中似乎看不出来。 继续来看下一个例子: 1. 我们在委托之前加上 阅读全文
posted @ 2016-08-10 10:51 青墨淡潋 阅读(290) 评论(0) 推荐(0)
委托的lambda表达式
摘要:委托可以用 Lambda 表达式的方法来表示,很多C#的代码都会大量使用 Lambda 表达式,正确理解它的用法还是很重要的。 基础规则: Lambda 运算符 “=>” 左边表示委托实例所需要的参数,右边表示委托实例的具体方法。 如果 Lambda 表达式只有一条语句,在方法块内就不需要花括号,也 阅读全文
posted @ 2016-08-09 16:53 青墨淡潋 阅读(205) 评论(0) 推荐(0)
粗看C#委托
摘要:C#的好多定义跟C艹不太相同,先来分析一下“委托”。 1. 委托的定义: 委托,可以认为是类型安全的函数指针,类型安全就是指明确定义了返回类型与参数类型,在C#代码编译时就能够确保指针传参时的安全性。 值得注意的是,委托也是一种类,在普遍的定义中,“类”表示广泛的定义,泛指一类事物,而对象则表示”类 阅读全文
posted @ 2016-08-09 14:45 青墨淡潋 阅读(200) 评论(0) 推荐(0)