我们在开发WinForm时,经常会看到partial关键字,比如,我们新建一个Windows Form时,后台代码自动添加如下:1 public partial class Form1 : Form2 {3 public Form1()4 {5 InitializeComponent();6 }7 } 《C#高级编程》书中说明:partial关键字允许把类、结构或接口放在多个文件中。一般情况下,一个类存储在单个文件中,但有时,多个开发人员需要访问同一个类,或者某种类型的代码生成器生成了一个类...
Dictionary<string, Book> bic = new Dictionary<string, Book>();Book b1 = new Book();b1.Name = "小明";b1.Score = 10;Book b2 = new Book();b2.Name = "夏红";b2.Score = 100;bic.Add("1",b1);bic.Add("2", b2);foreach (KeyValuePair<string,Book> item in bic){Console.WriteLine(item.Key+"\t"+item.Value.Name);}Console.ReadKey(); 第一章深入.NET框架序列化反序列化内存交互八个项目IO流XML泛型面向对象继承多态 解析.NE...
在一个类前加“abstract”关键字,此类就成为抽象类。对应的,在一个方法前加“abstract”关键字,此方法就成为抽象方法。abstractclass Fruit //抽象类{publicabstractvoid GrowInArea();//抽象方法 } 注意抽象方法不能又实现代码,在方法名后直接跟一个分号。 抽象类专用于派生出子类,子类必须实现抽象类中所生命的方法。否子子类仍是抽象类。 抽象类一般用于表达一种比较抽象的事物,比如说“水果”,而抽象方法则...
当我们处理一些长线的调用时,经常会导致界面停止响应或者IIS线程占用过多等问题,这个时候我们需要更多的是用异步编程来修正这些问题,但是通常都是说起来容易做起来难,诚然异步编程相对于同步编程来说,它是一种完全不同的编程思想,对于习惯了同步编程的开发者来说,在开发过程中难度更大,可控性不强是它的特点。在.NET Framework5.0种,微软为我们系统了新的语言特性,让我们使用异步编程就像使用同步编程一样相近和简单,本...
用户自定义异常类前面已经说了不少关于异常的问题了,现在来给大家说一下自定义异常时咋个回事以及咋样. 为啥会出现自定义异常类呢?用用脚趾头想想也明白,是为了定义咱们自己的异常,自定义异常类继承自ApplicationException 首先异常(Exception)分为两大类,一个是预定义的异常类,后者是用户自定义异常类时需要继承的类.案例: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Thre...
1,委托的概念 当需要把方法传递给其他方法时,需要调用委托。委托只是一种特殊类型的对象,其特殊之处在于,我们之前定义的所有对象都包含数据,而委托包含的只是一个或多个方法的地址。 委托的类型安全性非常高。在定义委托时,必须给出它所表示的方法的签名和返回类型等全部细节。2,使用委托的场景 给一个方法传递的参数也是方法,而且编译时不知道第二个方法是什么,这个信息只能在运行时得到,所以把第二个方法作为...
第一步:定义委托第二步:根据委托的定义,创建一个方法第三部:创建委托变量第四部:在窗口初始化中委托变量方法第五步:开始异步,设置回调函数 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace 异步编程 {publicpartialclass Form1 : For...
----------父类---------- 1using System;2using System.Collections.Generic;3using System.Linq;4using System.Text;5using System.Threading.Tasks;6 7namespace Lesson6_48{9///<summary>10/// 父类 11///</summary>12publicclass Operation 13 { 14///<summary>15/// 添加属性 16///</summary>17publicdouble NumberA { get; set; } 1819publicdouble NumberB { get; set; } 20212223///<summary>24/// 定义虚方法GenResul...
运算符的重载。C++的开发人员应该很熟悉这个概念,但这对Java 和 VB 开发人员确实全新的。 对于一些数值间的运算,如果通过方法来指定运算规则的话,不免会繁琐,这时就可以利用运算符的重载。 例: Matrix a,b,c; //定义矩阵对象 Marix d=c*(a+b); 如果用不支持运算符重载的语言的话,就必须定义方法,通过调用方法来进行计算: Marix d=c.Muliply(a.Add(b)); 结果很不直观 运算符的重载,在数学或物理...
今天我们将以下错误和异常。我们知道程序出现错误的原因有些时候并不是程序员编写的应用程序的原因,有时应用程序会因为终端用户的操作而发生错误。所以我们作为程序猿,就应该要避免类似这样的情况,做出预测可以出现的错误,应用程序应该如何处理这些错误与异常操作。这里就要说到我们今天要讲解的C#处理错误的机制。使用try-catch-finally捕获异常:try块包含的代码组成了程序的正常操作部分,但可能遇到某些严重的错误。catch块...
第四章 继承 1,继承的类型 实现继承: 一个类派生于一个基类型,拥有该基类型所有成员字段和函数。 接口继承 一个类型只继承了函数的签名,没有继承任何实现代码。?2,实现继承 class MyDerivedClass:MyBaseClass,IInterface1,IInterface2 { }public struct MyderivedStruct:IInterface1, IInterface2 { }类只能继承一个基类,但可以继承多个接口 结构不能继承结构,但是结构能够继承接口?虚方法: 在基类中将方法声明为virtual,...
何为高阶函数 大家可能对这个名词并不熟悉,但是这个名词所表达的事物却是我们经常使用到的。只要我们的函数的参数能够接收函数,或者函数能够返回函数,当然动态生成的也包括在内。那么我们就将这类函数叫做高阶函数。但是今天我们的标题并不是高阶函数,而是标准高阶函数,既然加上了这个标准,就意味着在函数式编程中有一套标准的函数,便于我们每次调用。而今天我们将会介绍三个标准函数,分别为Map、Filter、Fold。 Map这...
其他混合编程文章1【原创】Matlab.NET混合编程技巧之——直接调用Matlab内置函数(附源码)2.【原创】Matlab.NET混合编程技巧之——找出Matlab内置函数 3.【原创】Matlab与.NET混编解决人脸识别问题 4.【原创】Matlab与.NET基于类型安全的接口编程入门5.【原创分享】Matlab.NET混编调用Figure窗体 一、视频说明 2014年的5.1,我将这套视频教程进行了免费下载,免费注册开放:【5.1送礼】国内第一部Matlab和C#.Net混合编程入门...
1、输入十个学生的成绩,找出最高分 1#region 输入十个学生的成绩,找出最高分2//输入十个学生的成绩,找出最高分 3int[] c = newint[10];4for (int i = 0; i < 10; i++)5 {6int a = i + 1;7 Console.Write("请输入第{0}个学生的成绩:", i);8 c[i] = Convert.ToInt32(Console.ReadLine());9 } 10int max = 0; 11for (int j = 0; j < c.Length; j++) 12 { 13if ...
原文: 使用 C# 进行 Outlook 2007 编程 探讨如何使用 C# 编程语言生成 Outlook 识别的应用程序和 Outlook 外接程序。 请从"Add References"对话框访问"COM"选项卡,并选择"Microsoft Outlook 12.0 Object Library"using Microsoft.Office.Interop.Outlook; 表 1选择 Application 类型的成员CreateItem()允许通过编程创建新的 Outlook 项。GetNamespace()提供对数据存储项的访问。到 Outlook 2007 ,MAPI 是唯一可以使用的命名空...