user2016

导航

 

 

一、命名空间

开发一个大型工程时,经常会用到许多对象,需要创建很多类,而且有的时候类的名称会有冲突。要解决类名称冲突有两种方法:一是创建不同的类名以保证类名不冲突;二是使用命名空间(namespace)。命名空间不仅可以减少名称冲突,而且有助于很好地组织整个工程(C#的程序代码类、结构、接口等存放在命名空间中)。

namespace 命名空间名

{

//命名空间的成员(可以是类、结构、接口等数据类型,也可以是另一个命名空间)

}

例 创建一个控制台程序,在控制台屏幕输出“同学们,我们一起来学习C#。”.

using System;//系统命名空间

namespace chap3_2//用户命名空间

{class class1//声明一个类

{

    static void Main(string[] args)

    {

        Console.WriteLine("同学们,我们一起来学习C#。");//输出

        Console.Read();//输入

}}}

二、注释

1、单行注释

格式://

可放在某语句之后,也可单独占一行。

2、 多行注释

格式:/*注释内容*/

可跨多行。

三、常量和变量

(一)常量

分:直接常量和符号常量

 1、符号常量的定义

格式:const 数据类型 常量名=常量值

const double PI=3.1415926;

const string classname=”05 计算机一班”

说明:

l 符号常量在定义时必须赋初值。

l 符号常量一经定义,在程序运行过程中是不能更改的。

2、 标识符

标识符是用户给程序中所使用的常量、变量、类、对象和方法等所起的名字,在命名时必须遵守如下规则:

l 必须以字母或下划线开头,后跟字母、数字和下划线。

l 区分大小字

(二)变量

int x,y=60;//同时定义了两个变量,为其中的一个赋值。

string name=”李立”;//定义了一个字符串变量。

例2 创建一个控制台项目,要求从控制台任意输入一串字符,然后输出刚才输入的内容。

using System;

namespace chap3_3

{

    class class1

    {

        static void Main(string[] args)

        {

            string str1;

            Console.WriteLine("请输入任意字符串:");

            str1 = Console.ReadLine();

            Console.WriteLine("你输入的内容为:{0}", str1);

            Console.Read();

        }

    }

}

  Console.WriteLine("你输入的内容为:{0}", str1);语句的功能是在控制台上输出指定的内容,当输出多项内容时,各输出项的位置用参数说明符{0}、{1}……来表示。参数说明符的下标从“0”开始。

四、数据类型

C#的数据类型主要分为:值类型和引用类型。

值类型包括一些简单类型如:int,float,char,string,枚举类型和结构类型。

引用类型包括类、接口、代理和数组类型。C # 里有两个内置的引用类型(?):object类型和string类型。

装箱与开箱

装箱是把值转换成引用类型

int i=10;

object obj=i;//装箱转换

开箱是把引用类型转换成值

int i=10;

object obj=i;

int j=(int) obj;

类型转换

隐式主要用于安全的类型转换

int k=100;

long i=k;

显式转换可调用相应的转换函数来完成

例如double x=1234.7;

int a;

a=(int) x;

system.convert提供了一个基础数据类型转换为另一个基础类型的方法。

例如:Double MyDouble=42.72;

int MyInt=Convert。ToInt32(MyDouble);

 运算符:

“??”是一种比较特殊的运算符,如果“??”运算符的左操作数非空,该运算符将返回左操作数,否则返回右操作数。

a+=b等同于a=a+b;

^为逻辑运算符   a^b意义为a和b真假属性?相异时,则为ture,

typeof用于获得系统圆形对象的类型,也就是定义对象的类型

++a将变量加一之后在输出,   

a++先输出,后加一

可调用tostring()来完成数值型数据向字符串类型的转换

可用()运算符来完成数值类型间的转换

可调用parse函数来完成字符串向数值型数据的转换。 

sort[i] = int.Parse(Console.ReadLine()); 

Foreach语句用于循环访问集合以获取所需信息

一般语法格式如下:

f

foreach(数据类型 标识符 in 表达式)

{

循环体

}

Foreach语句

 范例:

using System;

class test

    public static void Main()

    {

        int[] arrnum = new int[] { 0, 34, 2, 22, 54, 8, 23 };

        foreach (int i in arrnum)

        {

            System.Console.WriteLine(i);

        }    

    } 

}

异常处理

1、 try catch语句

try 

        {

        Console.WriteLine("请输入除数!");

            int i=int.Parse(Console.ReadLine());

            Console.WriteLine("1000除以{0}={1}", i, 1000 / i);

                }

         catch(DivideByZeroException e)//上面代码中DivideByZeroException为系统定义的异常,当除数为”0”时,将产生一个异常,也就是生成该类的一个对象。

        {

        Console.WriteLine("除以0异常{0}",e);

2、 try…finally语句

 finally块用于清除在try块中分配的任何资源,不管try块执行时是否产生异常,finally块中的语句总是执行的。

 try 

         {

             i = (int)o; // 异常      

         }

         finally 

         {

         Console.WriteLine("程序继续执行");

         Console.Write("i={0}", i);        

         }

 五、类和面向对象

类是对某一类对象的抽象,而对象是某一种类的实例。类是抽象的,而对象是具体的。一个类可以产生很多对象,类产生对象的过程称为对象的实例化。

class是定义类的关键字,类的成员定义包括数据成员(用来描述属性的)和函数成员(用来描述对象)两部分;类修饰符包括public,private,protected,internal,new,abstract 和sealed。其中

public 公有的,该类的访问不受限制

private私有的,访问仅限于当前类或包含类

protected受保护的,表示访问仅限于当前类或派生类。

internal内部的,表示访问仅限于当前命名空间内。

new用于嵌套类和隐藏新类中的同名成员

abstract用于定义抽象类,只能作为其他类的基类。

sealed用于定义密封类,不能派生其他类。 

数组定义和输出

int[] sort = new int[10];
for (int i = 0; i < 10; i++)
{
Console.Write("请输入第{0}个整数:", i + 1);
sort[i] = int.Parse(Console.ReadLine());

}
Console.WriteLine("输出:");
for (int i = 0; i < 9; i++)
{
Console.Write("{0}\t", sort[i]);

}

posted on 2016-09-15 17:03  user2016  阅读(103)  评论(1)    收藏  举报