C#语言简介
C#是由Microsoft公司专门为.NET应用而开发的一种现代的面向对象的高级编程语言,因此它与.NET平台之间实现了非常完善的结合。
C#语言特点
面向对象 兼容性 版本处理技术
第一个C#应用程序
using System;
using System.Collections.Generic;
using System.Text;
namespace day1_1
{
class Class1
{
static void Main(string[] args)
{
string name;
Console.Write("输入姓名:");
name = Console.ReadLine();
Console.Write("姓名:");
Console.WriteLine(name);
Console.ReadKey();
}
}
}
导入命名空间
using System导入命名空间,类似于C及C++中的include语句,用于导入预定义的元素,以便于在程序中自由地使用这些元素。
C#程序中注释
C#语言中常用的有三种注释方式:
1、 //单行注释——注释到行尾
2、 /* 单行或多行注释 */
3、 XML文档注释 <!-- 单行或多行 -->
C#异常处理
什么是异常
简单的说,异常就是C#程序在运行过程中出错、异常终止的情况。
异常及错误的区别
错误:指系统内部错误、资源耗尽等严重情况;
异常:指其他因编程错误或偶然的外在因素导致的一般性问题,可遇知、可避免问题。
C#异常处理机制
C#程序的执行过程中如出现异常,会自动生成一个异常对象,该对象包含了有异常信息,并且自动提交给C#公共语言运行系统(CLR),这个过程称为抛出异常。
当C#运行时系统收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获异常。如果C#运行时系统找不到可以捕获异常的方法,则运行时系统将终止,相应的C#程序也将退出。
引用
try
{
...... //可能产生异常的代码
}catch(ExceptionName1 e){
...... //当产生ExceptionName1型异常时的处置措施
}catch(ExceptionName2 e){
...... //当产生ExceptionName2型异常时的处置措施
}[finally{
...... //无条件执行的语句
}]
需要强调的是:每个catch语句块捕捉一个异常,后面的异常不能是前一个异常的派生类。
人工捕获异常
C#语言异常对象除在程序中出现异常时由系统自动生成并抛出,也可以根据需要进行人工创建并抛出。
人工抛出异常必须是Exception或其子类的实例。
引用
IOException e = new IOException();
throw e;
throw new InvalidTimeException("minute is not a valid minute");
用户自定义异常
C#语言允许用户在需要时创建自己的异常类型,用于表述系统默认未涉及到的其他异常状况,这些类型必须继承Exception类或其子类。
using System;
using System.Collections.Generic;
using System.Text;
namespace day1_1
{
class Class1
{
static void Main(string[] args)
{
Person p = new Person();
try
{
p.setAge(10000);
}
catch (Exception ee)
{
Console.WriteLine(ee.Message);
}
try
{
p.setSex("nothing");
}
catch (MyException ee)
{
Console.WriteLine(ee.Message+" " + ee.getID());
}
Console.ReadKey();
}
}
class MyException : Exception
{
private int id;
public MyException(String msg, int id)
: base(msg)
{
this.id = id;
}
public int getID()
{
return this.id;
}
}
class Person
{
private int age;
private string sex;
public void setAge(int age)
{
if (age < 0 || age > 200)
{
MyException error = new MyException("age error", 1);
throw error;
}
else
{
this.age = age;
}
}
public void setSex(string sex)
{
if (sex != "男" && sex != "女")
{
MyException error = new MyException("sex error", 2);
throw error;
}
else
{
this.sex = sex;
}
}
}
}
面向对象的程序设计
面向对象的编程思想是力图使计算机语言中的对事物的描述与现实世界中该事物的本来面目尽可能地一致性,这样可以增强程序的可理解性,使程序易于维护和改进,并进一步促进代码的复用。
类和对象的关系
类和对象是面向对象的编程技术中的核心概念。类的概念和实际生活中“事物种类”的概念完全一致,面向对象编程技术中的“类”是根据分析和处理问题需要,对某一类现实事务事物的抽象概括。
类是对一类事物描述,因而是抽象的概念上的定义,而对象是实际存在的该类事物的每个个体,是“看得见、摸得着”的实体。
类的声名
[<modifiers>] class <class_name>
{
[<fields_declarations>]
[<constructor_declarations>]
[<method_declarations>]
}
<modifiers>为修饰符,可用的有public、abstract等关键字。用于说明所定义的类有关方面的特性。
class也是C#语言关键字,表明这是一个类的定义。
<class_name>是类的名字。
<fields_declarations>是域及域声明部分。
<constructor_declarations>是构造方法声明部分。
<method_declarations>是普通方法声明部分。
域声明
类的定义中所包含的数据称为域。
[<modifiers>] <type> <attr_name>;
<modifiers>为修饰符,可用的有public、private static等,用于说明该域的一些性质;
<type>是该域的数据类型,可以是任何合法的C#数据类型。
<fields_name>是域名称。
方法声明
[<modifiers>] <return_type> <name> ([<argu_list>]){
{
[<statements>]
}
<modifiers>为修饰符,可用的有public、private static等,用于说明方法的属性;
<return_type>是该方法的返回值类型,可以是任何合法的C#数据类型;
<name>是方法名;
<argu_list>是方法的参数列表,包括参数的类型和名称,如有多个参数,中间用“,”号分隔;
[<statements>是0或多行C#语句。
创建对象及访问对象成员
正确地声明了C#类之后,就可以在其他的类或应用程序中使用该类了,如创建该类的对象并访问对象成员等。对象成员是指一个对象所拥有的域及属性或可以调用的方法,例如对象所属的类中定义的所有域及属性和方法。可以使用new +构造方法创建对象,并使用“对象名.对象成员“的方式访问对象成员。
信息的隐藏和封装
域声明为私有(private)的成员变量,这样只有在同一类中才有访问该域,而不允许在其它的场合中直接对其进行操作。这样在对数据进行封装的同时也实现了信息的隐藏。
C#中通过将封装数据声明为私有的,再提供一个或多个公开的(public)方法实现对该域操作,可以方便地加入控制逻辑,限制对域的不合理操作,使C#程序更加健壮和易于维护。
public void setAge(int a){
if(a >= 0 && a <=150){
age = a;
}else{
Console.WriteLine("你输入的年龄有误!");
}
}
构造方法
构造方法声明
构造方法是C#类中的一种特殊方法,其功能是创建其所属类型的一个新的对象。声明构造方法规则如下:
<modifiers> <class_name>([argu_list>]){
[<statements>]
}
分享到:
相关推荐
.NET 编程基础期末练习题.pdf .NET 编程基础期末练习题是关于 .NET 编程基础知识的一个总结性练习题,涵盖了 .NET 框架、面向对象程序设计、枚举类型、字符串操作、文件操作、数据库操作等多个方面的知识点。 1. ...
ASP.NET编程基础是针对初学者介绍的Web应用开发技术,主要涵盖了.NET框架结构、HTTP协议、静态与动态网页的区别、客户端代码与服务器端代码的概念,以及ASP.NET的基础知识,特别是Web窗体的相关特性。 首先,了解...
【ASP.NET编程基础】 ASP.NET是微软公司推出的一种用于构建Web应用程序的技术框架,它基于.NET Framework,为开发者提供了丰富的工具和功能,使得构建动态、数据驱动的网站变得更加简单。在这个"asp.net编程基础"的...
**VB.NET编程基础** VB.NET(Visual Basic .NET)是微软公司推出的面向对象的编程语言,它是.NET框架的一部分,提供了一种简洁、直观的语法,使得开发者能够快速创建Windows应用程序、Web应用程序以及移动应用程序...
**Visual Basic .NET编程基础** Visual Basic .NET(VB.NET)是Microsoft开发的一种面向对象的编程语言,它是.NET框架的一部分,旨在提供一个简洁、高效且功能丰富的开发环境,尤其适合初学者入门。VB.NET沿袭了...
Visual C++.NET 编程基础
总结,Visual Basic.NET编程基础涉及众多概念和技术,从基本语法到面向对象编程,再到与.NET Framework的集成,都需要深入学习和实践。通过学习和掌握这些知识,开发者可以利用VB.NET构建功能强大的应用程序,满足...
《传智播客ASP.NET编程基础(1到13季)》是一套全面且深入的教程,涵盖了ASP.NET开发的方方面面。这套课程旨在帮助初学者和有一定基础的学习者掌握ASP.NET技术,从而能够构建功能丰富的Web应用程序。在这一系列教程中...
[整理版].net编程基础试题.doc
Visual Basic.NET编程基础与实例
C#中关于ASP.NET编程方面的电子教案,对于初学者是一个很好的参考
本教程将深入探讨VB.NET编程的基础知识,帮助你掌握这一强大的开发工具。 一、VB.NET简介 VB.NET是在Visual Basic 6.0的基础上发展而来的,它完全兼容.NET Framework,支持.NET的所有特性和服务。VB.NET引入了类型...
ASP.NET编程入门经典课件是针对初学者设计的一套全面且深入的学习资源,旨在帮助学习者掌握ASP.NET网络应用的开发技术。ASP.NET是微软公司推出的一种强大的Web应用程序框架,它基于.NET Framework,用于构建高性能、...
本教程旨在提供全面的C#.NET编程基础知识,帮助初学者快速掌握这一强大的开发工具。 1. **C#语言基础** - 变量与数据类型:包括基本数据类型(如int、float、bool)和引用类型(如类、接口、数组)。 - 控制流:...
本资源“asp.net编程百例”显然是一份关于ASP.NET编程实践的PDF文档,其中包含了丰富的实例,旨在帮助开发者深入理解和熟练掌握ASP.NET技术。 在ASP.NET中,你可以使用C#或VB.NET等编程语言,通过控件、事件驱动...
【C#.NET编程基础】 C#.NET是一种面向对象的编程语言,由微软公司开发,用于构建Windows应用程序、Web应用程序和移动应用程序。它在.NET框架上运行,提供了丰富的库支持和强大的开发工具,如Visual Studio。在"accp...
C#.NET编程基础包括变量、常量、运算符、控制结构(如if语句、for循环和switch语句)以及函数的使用。这些基础知识是所有编程语言的核心,C#.NET也不例外。书中的章节可能详细介绍了这些概念,并通过实例来帮助读者...