C# 知识结构 (实际框架结构和知识结构的梳理)

备注:CSDN上有几篇文章整理过来

C#菜鸟教程  http://www.runoob.com/csharp/csharp-property.html

C# 基础语法  基础知识 正则表达式 

{

swith()

{

case '':

break;

}

for循环  foreach遍历 while  之间的异同

 

try{}catch{}  http://blog.csdn.net/lsd123/article/details/3136956(这篇文章很详细 )

http://blog.csdn.net/seattle1215/article/details/6660955  Finally{}

 

}

二进制偏移量

计算堆和栈 

C# 什么是类  什么属性  类对象 值类型 引用类型  结构 枚举  泛型 List<T>

{

http://blog.163.com/mairujun@yeah/blog/static/161858177201031514020206/(类的基本解释 但不是很好)

解释什么是高内聚低耦合

http://www.cnblogs.com/robnetcn/archive/2012/04/15/2449008.html(内聚 耦合)

知识提点:

由于是引用类型,因此两个对象指向的是同一个地址(堆空间)   都指向同一个地址

由于是值类型,因此赋值等于将全部值全部复制到的栈空间   相当于又创建了一个新的地址  

因此在值类型进行赋值的时候 会更加的暂用性能 和 空间 (当然这并非说是器缺点 因为这是私有的)

备注:解释值对象 和 应用对象所放的位置 

 枚举:http://www.cnblogs.com/kissdodog/archive/2013/01/16/2863515.html

 结构:http://www.cnblogs.com/kissdodog/archive/2013/05/11/3072832.html(讲解的比较详细 类和结构的对比)

 }

C# 虚方法 接口  封装 继承 多态  方法重载

{

http://blog.csdn.net/sxy_javaeye/article/details/6451959(虚方法和抽象方法)

 http://www.cnblogs.com/lykbk/archive/2012/06/01/lyk19900723_daima3.html(C#类、接口、虚方法和抽象方法

http://blog.csdn.net/wochuailimin/article/details/5629041(方法重载)

http://www.cnblogs.com/200325074/articles/1206116.html(多态)

}

C# 类的析构函数 重构 初始化  

{

http://www.cnblogs.com/paper/archive/2009/07/31/1535998.html (析构函数)

https://msdn.microsoft.com/zh-cn/library/66x5fx1b(VS.80).aspx(MSDN 解析析构函数)

http://www.studyofnet.com/news/293.html(Dispose Close 析构函数)

http://www.cnblogs.com/jiajiayuan/archive/2011/09/08/2171422.html(构造函数)

}

C# 集合

{

 http://www.cnblogs.com/kissdodog/category/450785.html(List的讲解)

}

C# FORM 

{

form  的初始化 form designer 文件中每一个函数的作用

窗体按钮的事件   事件的注册 (先学习的委托 事件再看)

窗体之间传值

如何做窗体的模板 

解决方案生成DLL 

DLL的加密  加密方式:混淆编译  加密狗加密

}

C# 控件 用一个看待类的角度去看待对象 自定义控件  事件 

C# .netframework  垃圾回收机制  .netframework 和操作系统的关系

{

C#中有应用程序员的概念  创建应用程序 卸载应用程序  如何把不同的程序加载到不同的应用程序用。

}

C# ADO.net

{

http://www.cnblogs.com/kissdodog/category/519160.html(Ado.net的解释)

SqlCommand 可以执行增删改 

Adapter也是可以的 将SQL语句传进去 

在编程的时候刻意的规避DB的访问 可是说不清楚访问DB的时候的开销时间,做一个测试显示访问DB的时间

}

C# 三层架构

{

可能三层架构对于一些来讲这个可能不用了 或者有人说过时了  

这个是理解架构的基础  可以详细的讲一讲 

划分三层架构的原则 

}

C# IO 基础知识 加封装代码 (文本文件.txt .ini xml config) 创建文件 监听文件 数据库也是文件 以txt为数据的数据结构处理

{

  有部分资料 在百硕的时候 沈宗伟有写 我是否备份了?

  这个 .ini 包志有做  

  在文件中可以自定义文件内容的格式 读取的时候遵照约束就好了

   技巧:C#自定义控件自动显示在工具箱  工具=》选项=》Windows窗体设计器=》常规=》AutoToolBoxPopulate=》True

  序列化:

  http://www.cnblogs.com/kissdodog/p/3468385.html(xml序列化)

  实例的序列化  反序列化  对象的压缩传输 和 解压

}

C# 数据库操作  基础知识加封装代码 (IOC 数据库 access mysql sqlserver orcale 借口可以继承 支持扩展性)

C# 反射 

{

备注:反射中可以获取窗体 窗体名称 窗体控件 方法  创建对象 调用

http://www.cnblogs.com/yaozhenfa/p/CSharp_Reflection_1.html

反射解析窗体的时候 无法解析构造函数有参数的窗体 (子实际项目中有遇到这个问题)

}

C# 委托

{

实现父窗体点击按钮 可以调用子窗体的事件 此时的子窗体是通过反射创建出来的窗体对象 和父窗体并非在一个解决方案中。用到的技术 反射 委托 虚方法  和 override

 http://blog.csdn.net/golden_shadow/article/details/7206250 (Action的实例)}

C#lambda表达式{FuncList.FindAll(pNodes => pNodes.ParentID == "01")  pNodes 为list 的元素。 List.Sort Find First 

等价于 if(pNodes.ParentID == "01") return pNodes;

备注 :action  task  ()=>

}

C# 异步 同步  

asnyc

http://www.wxzzz.com/650.html

{

备注: 同步 

void FunctionTest(){A();B();C();}  同步就是 方法的执行顺序是 A->B->C

异步执行就是 A B C 同时执行 各自执行各自的不用等待谁执行完之后再执行

}

C# 多线程

{

http://www.cnblogs.com/blosaa/archive/2013/06/02/3113580.html

在线程执行同步或者异步的时候 waitOne 

什么回执函数啦   等要讲清楚

线程池  什么是进程  CPU和进程 线程之前的关系 CPU的大小代表着什么  

什么是计算机的内存 

}

C# Socket 通信  网络编程

{

获取本机IP地址  获取本机硬盘 CPU 

获取局域网内的所有计算 名称 IP  

(1)http://www.cnblogs.com/luoht/archive/2009/12/18/1627431.html

(2)http://www.cnblogs.com/luoht/archive/2009/12/18/1627431.html

备注:资料已经收集 需要更详细的注解  做成一个 单聊 多聊 像QQ一样 和指定的好友聊天 双击打开窗体 就可以聊天 切消息不会误传。

}

C# 串口通信

{

http://www.cnblogs.com/binfire/archive/2011/10/08/2201973.html (这个是参考要先代码 串口通信代码的上传)

}

C# 邮件

{

邮件的发送和服务器的搭建 以及几家支持邮件发送的供应商的处理方式

}

C# 短信处理

{

   短信的发送API

}

C# IOC 注入 

{实现依赖注入的方式有几个 先用 autofac 讲 清楚   讲清楚autofac 之前讲清楚 工厂模式 }

C# remoting 

{

 remoing 代理对象  执行方式有 TCP HTTP  主要 的就代理对象的理解  隔山打牛。有简短的代码 

 http://www.cnblogs.com/game-over/archive/2007/10/08/917470.html(代码示例) 这里的代码示例做的比较简单 

 System.MarshalByRefObject 重点讲述一下这个  可以引用MSDN上的说法

}

C# 算法

{

(http://www.cnblogs.com/binfire/archive/2013/01/28/2880539.html)查找算法

(http://www.cnblogs.com/binfire/archive/2013/01/28/2865863.html)经典排序

  递归算法

}

C# 调用组件 C++组件

C#算法资料(在大硬盘 上传到云盘)

C# SOA 分表 分库 分页 

什么是ORM 

{

 

}

entryframework

dapper

自定义ORM

什么IBatis 作用意义

 数据库知识

{

mysql:   http://www.cnblogs.com/kissdodog/category/606401.html

}

asp.net 原理:http://www.cnblogs.com/kissdodog/category/549298.html

我要学习的:

{

http://www.cnblogs.com/kissdodog/p/5419994.html (Json.net实现方便的Json转C#(dynamic动态类型)对象

http://www.cnblogs.com/kissdodog/p/3611799.html (autofac)

http://www.cnblogs.com/kissdodog/p/3291760.html (IBatis)

}

 

C# 安全处理方式

{

http://www.cnblogs.com/tianguook/archive/2012/10/06/2713105.html

}

 

C# 反编译

{

下载 ILSPY反编译工具  选择文件按钮  选择要反编译的文件  Save Code  将代码保存到指定位置

 

 

}

 C#

{

http://www.cnblogs.com/cbscan/articles/2057165.html(IL 讲解)

 一旦熟悉了IL,理解.NET技术就不会有障碍了,因为所有的.NET语言都会编译为IL。IL是一门中性语言。IL是先发明的,随后才有了C#、VB.NET等语言。

      我们将在一个短而精辟的程序中展示IL。我们还假设读者至少熟悉一门.NET语言。

}

 

C# 软件国际化 支持多语言场景

{

 

}

posted @ 2016-07-08 16:44  再见大圣--无毛猴子  阅读(717)  评论(0)    收藏  举报