随笔分类 - 读书笔记
摘要:1,关于ADO.NET ADO.NET 包含许多类,共享类和数据库专用类,共享类包括 DataSet、DataTable、DataRow 等,数据库专用类如SqlCommand、SqlConnection、SqlDataAdapter 等。 2,数据库连接 数据库连接要在使用完后立即关闭,尽可能早地
阅读全文
摘要:1,关于XAML 编写 WPF 应用程序、使用 WF、创建 XPS 文档 、编写 Silverlight 或者 Windows 8 应用程序,就还需要 XAML。XAML(eXtensible Application Markup Lauguage,可扩展应用程序标记语言)是一种声明性的 XML 语
阅读全文
摘要:1,Windows 服务 Windows 服务是可以在系统启动时自动打开的程序。如果需要在没有用户交互操作情况下运行程序,或者在权限比交互式用户更大的用户下运行程序,就可以创建 Windows 服务。 2,Windows 服务的体系架构 操作 Windows 服务需要3种程序: • 服务程序 • 服
阅读全文
摘要:1,网络 在网络环境下,我们最感兴趣的两个命名空间是 System.Net 和 System.Net.Sockets。 System.Net 名称空间通常与较高层的操作有关,例如下载和上传文件,使用 HTTP 和其他协议进行 Web 请求;而 System.Net.Sockets 名称空间包含的类通
阅读全文
摘要:1,事务简介 2,ACID属性 3,传统的事务 4,System.Transctions
阅读全文
摘要:1,Directory类和File类 只包含静态方法,不能被实例化。只要调用一个成员方法,提供合适文件系统对象的路径,就可以使用这些类。如果只对文件夹或文件执行一个操作,使用这些类就很有效,因为这样可以省去实例化.NET类的系统开销。 2,DirectoryInfo类和FileInfo类 这两个类实
阅读全文
摘要:lock语句,Interlocked类和Monitor类可用于进程内部的同步。Mutex类、Event类、SemaphoreSlim类和ReaderWriterLockSlim类提供个过个线程之间的线程同步。 1,Interlocked类 Interlocked类用于使变量的简单语句原子化。Inte
阅读全文
摘要:Thread类允许创建前台线程,以及设置线程的优先级。使用Thread类可以创建和控制线程。 在默认情况下,用Thread类创建的线程是前台线程。线程池中的线程总是后台线程。 不能保证哪个结果先输出。线程有操作系统调度,每次哪个线程在前面可以不同。 也可以用Lambda表达式: 1,后台线程 在用T
阅读全文
摘要:1,任务 为了更好地控制并行动作,可以使用System.Threading.Tasks名称空间中的Task类。任务表示应完成的某个工作单元。这个工作单元可以在单独的线程中运行,也可以以同步方式启动一个任务,这需要等待主调线程。 启动任务的几种方法:可以使用TaskFactory类或Task类的构造函
阅读全文
摘要:1,Parallel类 Parallel类是对线程的一个很好的抽象。该类位于System.Threading.Tasks 命名空间中,提供了数据和任务的并行性。 Parallel类定义了并行的for和foreach的静态方法。对于C#的for和foreach语句而言,循环从一个线程中运行。Paral
阅读全文
摘要:一,代码协定 代码协定通常称作契约式编程,包括如下三个部分: 前置条件(precondiction):为了调用函数,必须为真的条件,在其违反时,函数决不调用,传递好数据是调用者的责任。 后置条件(postcondion):函数保证能做到的事情,函数完成时的状态,函数有这一事实表示它会结束,不会无休止
阅读全文
摘要:在.NET之前的技术中,进程作为独立的边界来使用,每个进程都有其私有的虚拟内存;运行在一个进程的应用程序不能写入另一个应用程序的内存,也不会因为这种方式破坏其他应用程序。该进程用作应用程序之间的一个独立而安全的边界。.NET体系结构应用程序有一个新的边界:应用程序域。使用托管IL代码,运行库可以确保
阅读全文
摘要:1,反射 反射是一个普通术语,它描述了在运行过程中检查和处理程序元素的功能。 2,System.Type类 测试: 输出: 3,Assembly类 Assembly类在System.Reflection名称空间中定义,它运行访问给定程序集的元数据,它也包含可以加载和执行程序集的方法。
阅读全文
摘要:1,异常类 在C#中,当出现某个特殊的异常错误条件时,就会创建(或抛出)一个异常对象。 2,捕获异常 1)try块包含的代码组成了程序的正常操作部分。 2)catch块包含的代码处理各种错误情况。 3)finally块包含的代码,无论是否抛出异常,一定会执行。 3,多个catch块 最先编写的cat
阅读全文
摘要:1,值数据类型 值数据类型存储在栈上。栈是从上向下填充的,即从高内存地址向低内存地址填充。当变量超出作用域后,会被从内存中删除。 2,引用数据类型 栈存储引用,托管堆存储对象。堆上的内存是向上分配的。当一个引用变量超出作用域时,它会从栈中删除,但引用对象的数据仍保留在堆中,一直到程序终止,或垃圾回收
阅读全文
摘要:从这章可以看出,书肯定是多人写的,和之前的风格完全不一样,写的云里雾里的,看不明白 异步模式的三种实现方法 1,用委托 2,用事件 3,用任务 然后,异步编程基础不知道想表达什么,翻完全书再补吧
阅读全文
摘要:1,LINQ查询 语法:查询表达式必须以from子句开头,以select或group子句结束。在这两个子句之间,可以使用where、orderby、join、let和其他from子句。 执行:如上,变量query只指定了LINQ查询。该查询不是通过这个赋值语句执行的,只要使用foreach循环访问查
阅读全文
摘要:1,列表的容量和元素个数 列表的容量和元素个数是两个概念。使用Capacity属性可以获取和设置集合的容量。集合中的元素个数可用用Count属性读取。 如果列表的容量不足以容纳要添加的元素,就把集合的大小重新设置为原来的2倍。 2,向集合中添加元素 List<T>类的ForEach()方法: 使用F
阅读全文
摘要:1,创建字符串 字符串是一个不可变的数据类型,一旦对字符串对象进行了初始化,该字符串对象就不能改变了。所以,如果用字符串频繁进行文字处理,应用程序就会遇到严重的性能问题,这时需要采用StringBuilder类。 2,对自定义结构的格式化输出 实现IFormattable接口 测试一下: 输出: |
阅读全文
摘要:1,委托的概念 当需要把方法传递给其他方法时,需要调用委托。委托只是一种特殊类型的对象,其特殊之处在于,我们之前定义的所有对象都包含数据,而委托包含的只是一个或多个方法的地址。 委托的类型安全性非常高。在定义委托时,必须给出它所表示的方法的签名和返回类型等全部细节。 2,使用委托的场景 给一个方法传
阅读全文

浙公网安备 33010602011771号