C# 能做流程贷款审批流程吗?

C#程序的执行都是一行接一行、自上而下地进行,不遗漏任何代码。为了让程序能按照开发者所设计的流程进行执行,必然需要进行条件判断、循环和跳转等过程,这就需要实现流程控制。C#中的流程控制包含了条件语句、循环语句、跳转语句和异常处理四个方面。
break语句:终止并跳出循环体。

continue语句:终止当前循环,重新开始一个新的循环。

goto语句:跳转到指定位置。
C#允许给代码行加上标签,这样就可以使用goto语句直接跳转到这些代码行上。goto语句的用法如下:
goto语句有两个限制,不能跳转到像for循环这样的代码块中,也不能跳出类的范围,不能退出try…catch语句后面的finally块。
这里讲解goto语句只为了解其语法,当遇到时能知道代码的意思,本人不建议使用。

return语句:跳出循环及其包含的函数。

throw语句:抛出一个异常。

条件语句可以根据条件是否满足或者根据表达式的值控制代码的执行分支。C#有两种控制控制代码分支的结构,分别是if语句和switch语句。
注意:if语句的条件可以是布尔变量,也可以是表达式,但如果是表达式,则表达式得到的结果必须是布尔值。
1、单选择if语句,即条件成立执行,语法如下:

 
 
 

程序说明:程序执行完 case 1后会直接执行case 2。但是我们不建议这样做,这会导致很难察觉的逻辑错误。

通常情况下switch语句中一个case语句处理完成后,不能自由的进入下一个case语句,但是这个规则有一个例外。如果把多个case语句放在一起,其后面加一个代码块,实际上是一次检查多个条件,如果满足这些条件中的任何一个,就会执行代码,例如:

 
 

循环就是重复执行语句,循环结构可以实现一个程序模块的重复执行,它对我们简化程序、更好的组织算法有着重要的意义。
do循环先执行语句或语句块,然后再判断表达式的值,如果表达式的值为true,则继续执行循环,直到表达式的值为false。注意:do循环刚执行的时候不管表达式的值为true或者是false它都要先执行一次语句或语句块,然后再来判断表达式的值。也就是说如果一开始表达式的值为false,它也会执行一次循环。do循环无论布尔表达式的值是true还是false,语句或语句块至少会执行一次。另外while语句后面必须使用分号(;)。

while循环的结构如下:
while循环则是先判断表达式的值,然后再执行语句或语句块,直到表达式的值为false。如果循环刚开始表达式的值就为false,那么语句或语句块就不会被执行。

for循环的结构如下:
初始化表达式:可以在该位置定义一个变量并为其赋一个起始值,也可以使用for循环前面定义的变量,但是使用for循环前面定义的变量必须在该位置为其重新赋一个起始值。注意:在该位置定义一个变量并为其赋一个起始值,这种用法定义的变量的作用域仅在for循环语句中,也就是说for循环语句后面的代码就不能使用该变量;但是用for循环前面定义的变量这种用法定义的变量for循环语句后面的代码就也能使用该变量。
条件表达式:它是循环继续或者终止的条件。
迭代表达式:执行完语句或语句块后就执行迭代表达式,然后再执行条件表达式判断循环是否继续。

 //将1到10打印到屏幕上
 

foreach语句用于枚举一个集合的元素,并对该集合中的每一个元素执行一次嵌入语句。foreach循环的结构如下:
注意:迭代变量的类型必须与集合的类型相同。集合内元素的个数决定循环内程序段重复执行的次数,每次进入循环,会依次将集合元素内容指定给变量,当所有元素都读完后,就会跳出foreach循环。foreach循环对集合内元素进行只读访问,不能改变任何元素的值。foreach循环在循环的过程中不能对集合进行添加元素或者删除元素的操作。示例:

 

以上程序中的foreach语句在输出集合strList中的第一元素并将其移除集合后进行下一次循环的时候会产生异常。

在代码编写错误或者故意进行设计时,可以定义永不终止的循环,即所谓的无限循环。示例:
无限循环语句也是有用的,而且可以使用break语句或者手工使用Windows任务管理器退出无限循环。

C#中的异常处理也算一种流程控制,try…catch…finally语句用于异常的捕获和处理,具体语法如下:
try:包含抛出异常的代码。
catch:包含抛出异常时要执行的代码。catch块可以使用<execptionType>设置为只响应特定的异常类型,以便提供多个catch块。
finally:包含始终会执行的代码,如果没有产生异常,则在try块之后执行,如果处理了异常,就在catch块后执行。
1、try块在发生异常的地方中断程序的执行。
2、如果有catch块,就检查该块是否匹配已抛出的异常类型。如果没有catch块,就执行finally块(如果没有catch块,就一定要有finally块)。
3、如果有catch块,但它与已发生的异常类型不匹配,就检查是否有其他catch块。
4、如果有catch块匹配已发生的异常类型,就执行它包含的代码,再执行finally块(如果有)。
5、如果catch块都不匹配已发生的异常类型,就执行finally块(如果有)。
从try…catch…finally语句的执行顺序可以看出try…catch…finally语句有多种组合模式,这里就不详细讲解作者:贤俊

一.前言 前一段时间在工作中,使用了流程审批,对api的调用非常不熟悉,都是调用别人写好的接口在界面上进行显示,基本了解了流程审批的主要步骤,现对流程审批进行学习,主要是调用api进行CRUD操作,感兴趣或你在最近的工作中有遇到流程审批,要从头开始学习Activiti工作流,那可以去了解一下基本的应用. 二.Activiti参考学习 1.咖啡兔-工作流引擎Activiti演示项目 里面有详细的工作流演示,定义学习文档,为开源的项目: 三.开发前准备     1.Activiti源码下载,主要是用

1.C#中数据类型分为哪两类?区别是什么?

值类型、引用类型。值类型保存的是具体的值 引用类型保存的是值的地址 

2.基本数据类型有哪些?

3.什么是装箱,什么是拆箱?

装箱:将值类型转换为引用类型、拆箱:将装箱的引用类型转为值类型。

4.C#中有哪些流程控制语句?

判断语句、循环语句、跳转语句

变量是内存中的一块存储区域,是存储数据的基本单元

6.C#提供了哪些一系列丰富的运算符?

7.用户输入行数,用* 打印一个直角三角形图案?

函数就是将一堆代码进行重用的一种机制;函数被称为方法。

11.C#中自定义数据类型是什么?

12.c#提供了哪些类型的选择结构?

13.了解什么是面向对象?

面向对象就是使用对象进行程序设。面向对象的编程思想:计算机程序中模拟现实世界中的概念,现实世界的所有事物全都被视为对象,在计算机程序中用相似的实体模拟现实世界中的实体,是设计和实现软件系统的方法。

14.面向对象的基本概念:类?对象?封装?继承?多态?

同一类中的事物总是具有一些共性;

类是具有相同属性和和行为的一组对象的集合。类是用来描述实体的“模板”或“原型”;

对象是面向对象编程的核心部分,是实际存在的具体实体,具有明确定义的状态和行为;对象其实就是“数据”和“函数”的封装体。

封装:封装其实就是有选择性地公开或隐藏某些信息,它解决了数据的安全性问题。封装的特点就是避免非法数据的访问,保证数据的完整性

例:每个人都有自己的思想,具体想什么别人都不知道。

继承:解决了代码的重用问题;继承是利用现有的类创建新类的过程,现有的类称作基类(或父类),创建的新类称作派生类(子类)。

继承是利用现有的类创建新类的过程,现有的类称作基类(或父类),创建的新类称作派生类(子类)。

多态:指不同对象收到相同消息时,会产生不同行为。

把相同的或相似的对象归为一类的这个过程就是抽象,所以,抽象就是分析问题的方法;

15.如何定义类,如何创建对象?

创建对象的一般语法:类名 引用名 = new 类名();

关键字public和private是访问修饰符,用来说明某个成员是否可以从类外部进行访问;

使用成员运算符(.)来访问成员属性或成员方法;

18.什么是属性?构造方法?

属性:对象或实体拥有的特征在类中表示时称为属性。数据表示自身的状态,也称作“属性”或“成员数据。

构造方法:对象实例化的同时就初始化成员变量。构造方法没有返回值类型,也不能有返回值。构造方法是特殊的成员方法,它与类同名。

构造方法是用来初始化成员变量的特殊方法。可以适当地重载构造方法,使初始化对象的方式更加灵活;

方法重载可以方便方法的调用者,但方法重载应遵循三大原则:

方法名相同,参数列表不同,属于同一作用域

在同一作用域中用于定义一组方法,这些方法具有相同的名称,并执行类似的操作,但是却使用不同的参数列表;返回值不同的方法不能构成重载。

每个成员方法都有一个隐含的this引用,它总是指向调用它的对象;

声明静态变量使用关键字static。具有全局变量的生命周期(完成了某些全局变量才能完成的功能);

注意:静态成员方法没有this引用;

22.命名空间,namespace关键字;导入命名空间,using关键字。

23.C# 中常用的字符串处理方法:

Equals()或==:比较两个字符串的值是否相等

IndexOf():查找某个字符在字符串中的位置

SubString():从字符串中截取子字符串

ToLower():将字符串转换成小写形式

Trim():去掉字符串两边的空格

Replace(“子字串”,“目标字符串”):将子字符串替换为目标字符串

Format():方法用来格式化字符串

25.什么是对象数组?

在C#中不但可以声明由原始数据组成的数组,还可以声明由对象组成的数组;

26.C#中实现继承?

实现继承的一般语法是:

protected修饰符,本类或子类成员友好;受保护的。

28.继承中的构造方法?

父类的构造方法负责初始化属于它的成员变量,而子类的构造方法则只需考虑属于自己的成员变量,不必去关注父类的情况。父类的构造方法执行失败,那么子类的对象也将无法实例化。

第一种用途是:在子类的构造方法中,base关键字可以显式地调用父类的构造方法,用于将参数传递给它;

第二种用途:如果父类和子类中有同名成员,在子类中默认访问是属于自己的那一个成员;

base关键字可以明确地指定要访问父类中的成员;其一般语法是:

base.成员名;(前提条件是:父类中的该成员不是private的)

30.什么是引用转型?

引用转型(里氏替换原则):基类的引用可以指向派生类的对象,如:

定义抽象类和抽象方法必须要的abstract

32.抽象方法和抽象类是什么?

抽象类是特殊的类,只是不能被实例化(不能new),有抽象方法的类必然是抽象类。

重写方法指重写基类方法,被重写的方法与原方法原型一模一样

子类中可以使用override关键字重写基类中用virtual关键字修饰的虚拟的基成员

用自己的Cut子类中要重写Cut

35.什么是接口和如何实现接口,interface关键字?

如果某个类中的所有方法都是抽象方法,那么可以考虑将该类定义为接口;定义接口使用关键字interface,一般语法:

注意:接口中不能定义非抽象方法,也就是说接口中不能包含有函数实体;

36.sealed关键字是用来做什么的?

如果将某个成员方法修饰为sealed,则意味着该方法不能被子类覆盖,一般语法:

[访问权限] sealed 返回值类型 方法名(参数列表) {

37.类与类之间的关系?

继承关系、实现关系、依赖关系、关联关系、聚合关系、组合关系。

程序中出现的错误被称为异常;编译时异常一般是指语法错误,可以通过编译器的提示加以修正,这里我们不予讨论;

运行错误:如数组下标越界,除数为0等;

逻辑错误:如年龄超过200岁等。

try块:一般用来监视有可能产生异常的代码部分;

catch块:当异常产生后,catch块捕捉异常,并在其中对异常进行处理。

finally块可以确保执行所有的清理工作;

40.C#中异常类的继承体系结构?

41.运用多重catch块处理异常?

整个语句块可以产生异常,而其中的某个部分又可能产生另外的异常,而我们需要分别进行处理;

43.运用关键字throw处理异常?

使用显式 throw 语句来引发异常。在此情况下,控制权将无条件转到处理异常的部分代码

44.用户自定义异常?

可能要创建用户自定义的异常类;Exception类和其子类都是系统内置的异常,这些异常不一定总能捕获程序中发生的逻辑异常;

45。理解集合的概念?

ArrayList是一个可动态维护长度的集合;例:

泛型最常见的用途是创建集合类

泛型集合可以约束集合内的元素类型 

典型泛型集合List<T>表示该泛型集合中的元素类型

47.C#中提供了按照索引器进行访问的方法

 相同点:通过索引访问集合的元素;添加对象方法相同;通过索引删除元素。

不同点:List<T>:增加元素时类型严格检查;无需装箱拆箱;

49.在for循环里如何做死循环?

n-1.分页有哪几种方法?

一般都是用存储过程,或者写一个分页的类

n.如何用c#获取其他软件子窗口的标题栏的文字并保存到记事本中???

我要回帖

更多关于 贷款审批流程 的文章

 

随机推荐