上一页 1 ··· 14 15 16 17 18
摘要: C#笔记25:比较和排序(IComparable和IComparer以及它们的泛型实现)本文摘要:1:比较和排序的概念;2:IComparable和IComparer;3:IComparable和IComparer的泛型实现IComparable和IComparer;1:比较和排序的概念 比较:两个... 阅读全文
posted @ 2010-09-30 08:15 陆敏技 阅读(26292) 评论(2) 推荐(7) 编辑
摘要: WPF快速指导11:输入和命令本文摘要:1:输入的种类;2:命令1:输入的种类 可在基元素类上找到公开的主输入 API:UIElement、ContentElement、FrameworkElement 和 FrameworkContentElement。除了基元素类上的输入 API,Keyboard 类和 Mouse 类还提供了用于处理键盘和鼠标输入的其他 API。 Keyboard 类上的输入 API 的示例有 Modifiers 属性(用于返回当前按下的 ModifierKeys)和 IsKeyDown 方法(用于确定是否按下了指定的键)。 下面的示例使用 GetKeyStates 方法 阅读全文
posted @ 2010-09-29 15:23 陆敏技 阅读(2937) 评论(0) 推荐(1) 编辑
摘要: WPF快速指导9:WPF中的属性(依赖项属性)本文摘要:1:什么是依赖项属性;2:实现依赖项属性;1:什么是依赖项属性 Windows Presentation Foundation (WPF) 提供了一组服务,这些服务可用于扩展公共语言运行时 (CLR) 属性的功能。这些服务通常统称为 WPF 属性系统。由 WPF 属性系统支持的属性称为依赖项属性。 依赖项属性的用途在于提供一种方法来基于其他输入的值计算属性值。这些其他输入可以包括系统属性(如主题和用户首选项)、实时属性确定机制(如数据绑定和动画/演示图板)、重用模板(如资源和样式)或者通过与元素树中其他元素的父子关系来公开的值。另外,可以 阅读全文
posted @ 2010-09-29 10:16 陆敏技 阅读(1157) 评论(0) 推荐(2) 编辑
摘要: WPF快速指导8:WPF基元素类本文摘要:1:什么是基元素类;2:基元素类的使用;3:其它重要基类1:什么是基元素类 WPF中的大部分类都是从 SDK 文档中通常称为基元素类的四个类派生而来。这些类包括 UIElement、FrameworkElement、ContentElement 和 FrameworkContentElement。DependencyObject 也相关,因为它是 UIElement 和 ContentElement 的公共基类。 UIElement 用作 FrameworkElement 的基类,ContentElement 用作 FrameworkContentEl 阅读全文
posted @ 2010-09-29 09:26 陆敏技 阅读(1152) 评论(0) 推荐(2) 编辑
摘要: C#笔记24:善用Visual Studio1:调试的四个窗口2:加快编码速度3:加快编码速度4:使用第三方工具丰富VS5:VS2010中的工具6:学会调试1:调试的四个窗口 立即窗口:提供运行时动态增加代码,或者动态改变当前代码变量的窗口。 快速监视窗口:能够快速监视当前代码中的变量。 调用堆栈窗口:查看当前代码是被其它那个文件的代码所调用。 线程窗口:查看当前应用程序所启用的线程。 有关调试的更多技巧,请参考http://msdn.microsoft.com/zh-cn/library/sc65sadd.aspx和http://msdn.microsoft.com/zh-cn/librar 阅读全文
posted @ 2010-09-19 11:51 陆敏技 阅读(2060) 评论(0) 推荐(1) 编辑
摘要: C#笔记23:多线程之Task(并行编程)1:Task是什么2:任务取消3:TPL 和传统 .NET 异步编程 任务并行库 (TPL) 是 .NET Framework 4 版的 System.Threading 和 System.Threading.Tasks 命名空间中的一组公共类型和 API。... 阅读全文
posted @ 2010-09-19 11:04 陆敏技 阅读(17968) 评论(2) 推荐(0) 编辑
摘要: C#笔记22:多线程之停止或取消线程1:为什么不建议使用Abort取消2:如何是正确的取消3:FRAMEWORK4中的取消1:为什么不建议使用Abort取消 来看下面的代码:using (FileStream fs = File.Open(myDataFile, FileMode.Open, ... 阅读全文
posted @ 2010-09-17 15:55 陆敏技 阅读(7980) 评论(2) 推荐(0) 编辑
摘要: C#笔记21:多线程之线程同步中的锁定lock、Monitor1:什么是锁2:如何选择锁定对象3:如何锁定集合4:Monitor1:什么是锁 lock 语句可以用来确保代码块完成运行,而不会被其他线程中断。这是通过在代码块运行期间为给定对象获取互斥锁来实现的。2:如何选择锁定对象 提供给 lock 关键字的参数必须为基于引用类型的对象,该对象用来定义锁的范围。在上面的示例中,锁的范围限定为此函数,因为函数外不存在任何对对象 lockThis 的引用。如果确实存在此类引用,锁的范围将扩展到该对象。严格地说,提供的对象只是用来唯一地标识由多个线程共享的资源,所以它可以是任意类实例。然而,实际上,此 阅读全文
posted @ 2010-09-17 15:39 陆敏技 阅读(7356) 评论(0) 推荐(0) 编辑
摘要: C#笔记20:多线程之线程同步中的信号量AutoResetEvent和ManualResetEvent本章概要:1:终止状态和非终止状态2:AutoResetEvent和ManualResetEvent的区别3:WaitHandle.WaitOne()等1:终止状态和非终止状态 首先说说线程的终止状态和非终止状态。AutoResetEvent和ManualResetEvent的构造函数中,都有bool变量来指明线程的终止状态和非终止状态。true表示终止状态,false表示非终止状态。看代码片段1:代码片段1: AutoResetEvent _autoResetEvent = ... 阅读全文
posted @ 2010-09-17 15:24 陆敏技 阅读(9077) 评论(4) 推荐(1) 编辑
摘要: C#笔记19:多线程之线程启动、参数、返回值本章概要: 1:如何新起线程 2:Thread传参数及取得返回值 3:IsBackground 4:异步调用中的参数和返回值 1:如何新起线程 新起一个线程的方法,可以使用Thread,BackgroundWorker ,ThreadPool,控件.BeginInvoke,委托.BeginInvoke,Timer。 创建多线程处理应用程序的最可靠方法是使用 BackgroundWorker 组件。但是,当你需要对线程进行精细控制的时候,就需要Thread。总体来说,各种方法各有各的优点,在这里不做细说。 备注:严格意义上,异步不是新线程。2:Th.. 阅读全文
posted @ 2010-09-17 15:01 陆敏技 阅读(20235) 评论(3) 推荐(3) 编辑
摘要: C#笔记17:事务本章概要:1:事务概述2:隐式事务3:显示事务1:事务概述 当您从网上书店购买书籍时,会用钱(以信贷方式)来交换书籍。如果您的信用良好,则一系列相关操作可确保您和书店可以相应地获得书籍和钱。但如果在交换期间该系列操作中的单个操作发生故障,则整个交换就会失败。结果,您就得不到书籍,而书店也得不到钱。负责使该交换取得平衡且可预测的技术称为事务处理。 事务操作可限定于单个数据资源,如数据库或消息队列。在这种情况下,本地事务由 System.Transactions 所提供的可提升性能的事务管理器管理。当这些事务由数据资源控制时,它们具有高效性并易于管理。 事务也可跨多个数据资源。使 阅读全文
posted @ 2010-09-15 14:04 陆敏技 阅读(1179) 评论(1) 推荐(0) 编辑
摘要: C#笔记16:协变与逆变本章概要: 1:协变与逆变概念2:协变3:逆变4:注意事项5:接口变体语法1:逆变与协变概念 “协变”是指能够使用与原始指定的派生类型相比,派生程度更大的类型。 “逆变”则是指能够使用派生程度更小的类型。 如果泛型接口或委托的泛型参数声明为协变或逆变,则将该泛型接口或委托称为“变体”。2:协变 查看下面代码:IEnumerable<String> strings = new List<String>(); IEnumerable<Object> objects = strings; 在 .NET Framework 早期版本中,在 O 阅读全文
posted @ 2010-09-12 17:39 陆敏技 阅读(2241) 评论(0) 推荐(0) 编辑
摘要: C#笔记15:序列化本章概要:1:为什么需要序列化2:序列化的几种形式3:关于XML序列化,多说一点 3.1:IDeserializationCallback 接口4:JSON是什么 4.1提供一段有用的JSON代码1:为什么需要序列化 序列化是将对象转换为字节流以将其保存在内存、数据库或文件中的过程。其主要目的是保存对象的状态,以便可以在需要时重新创建对象。相反的过程称为反序列化。 此图显示序列化的整个过程。 对象被序列化为流。流传递的不仅是数据,还包括有关对象类型的信息,如对象的版本、区域性和程序集名称。通过该流,可以将对象存储在数据库、文件或内存中。 通过序列化,开发人员还可以执行类似如 阅读全文
posted @ 2010-09-12 14:36 陆敏技 阅读(2863) 评论(1) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18
Web Counter
Coupon for Contacts