2019年8月20日
摘要: 在 C# 语言中 ADO.NET 是在 ADO 的基础上发展起来的,ADO (Active Data Object) 是一个 COM 组件类库,用于访问数据库,而 ADO.NET 是在 .NET 平台上访问数据库的组件。 ADO.NET 是以 ODBC (Open Database Connecti 阅读全文
posted @ 2019-08-20 09:41 Frank_LuYuan 阅读(395) 评论(0) 推荐(0) 编辑
  2019年8月19日
摘要: C# 中 Mutex 类也是用于线程同步操作的类,例如,当多个线程同时访问一个资源时保证一次只能有一个线程访问资源。在 Mutex 类中,WaitOne() 方法用于等待资源被释放, ReleaseMutex() 方法用于释放资源。WaitOne() 方法在等待 ReleaseMutex() 方法执 阅读全文
posted @ 2019-08-19 16:08 Frank_LuYuan 阅读(181) 评论(0) 推荐(0) 编辑
摘要: Monitor 类的命名空间是 System.Threading,它的用法和 lock 本质是一样的。 使用 Monitor 类锁定资源的代码如下。 Monitor.Enter(object); try { //临界区代码 } finally { Monitor.Exit(object); } 在这 阅读全文
posted @ 2019-08-19 15:48 Frank_LuYuan 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 对于线程同步操作最简单的一种方式就是使用 lock 关键字,通过 lock 关键字能保证加锁的线程只有在执行完成后才能执行其他线程。 lock 的语法形式如下。 lock(object) { //临界区代码 } 这里 lock 后面通常是一个 Object 类型的值,也可以使用 this 关键字来表 阅读全文
posted @ 2019-08-19 15:08 Frank_LuYuan 阅读(175) 评论(0) 推荐(0) 编辑
  2019年8月13日
摘要: 使用接口实现多态 需要满足以下两个条件。 定义接口并使用类实现了接口中的成员。 创建接口的实例指向不同的实现类对象。 假设接口名称为 ITest,分别定义两个实现类来实现接口的成员,示例代码如下。 阅读全文
posted @ 2019-08-13 15:41 Frank_LuYuan 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 1. 接口的实现实际上和类之间的继承是一样的,也是重写了接口中的方法,让其有了具体的实现内容。2. 但需要注意的是,在类中实现一个接口时必须将接口中的所有成员都实现,否则该类必须声明为抽象类,并将接口中未实现 的成员以抽象方式实现。 在 C# 语言中实现接口的具体语法形式如下。 class 类名 : 阅读全文
posted @ 2019-08-13 15:24 Frank_LuYuan 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 一. 在 C# 语言中,类之间的继承关系仅支持单重继承,而接口是为了实现多重继承关系设计的。二. 一个类能同时实现多个接口,还能在实现接口的同时再继承其他类,并且接口之间也可以继承。三. 无论是表示类之间的继承、还是类实现接口、接口与接口之间的继承,都使用“:”来表示。多个之间用英文逗号‘,’分隔。 阅读全文
posted @ 2019-08-13 14:42 Frank_LuYuan 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 1. 在日常生活中,手机、笔记本电脑、平板电脑等电子产品提供了不同类型的接口用于充电或者连接不同的设备。 不同类型接口的标准不一样,例如电压、尺寸等。 2. 在C#语言中,接口也会定义一种标准,如果需要使用接口,必须满足接口中所定义的内容。 3. 在C#语言中,类之间的继承关系仅支持单重继承,而接口 阅读全文
posted @ 2019-08-13 14:26 Frank_LuYuan 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 备注: 如果你在语句中使用 yield,则意味着它所处的方法、运算符或 get 访问器是迭代器。 yield 语句的两种形式: yield return <expression>; yield break; 1.使用 yield return 语句可一次返回一个元素。可通过使用 foreach 语句 阅读全文
posted @ 2019-08-13 11:50 Frank_LuYuan 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型,而且不需要修改原本的类的程序代码。扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的。它们的第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀。 要实现扩展方法十分简单, 阅读全文
posted @ 2019-08-13 10:21 Frank_LuYuan 阅读(532) 评论(0) 推荐(0) 编辑