zoukankan      html  css  js  c++  java
  • .NET 基础 一步步 一幕幕[数组、集合、异常捕获]

    数组、集合、异常捕获

    数组:

    一次性存储多个相同类型的变量。

    一维数组:

    语法:

    数组类型[] 数组名=new 数组类型[数组长度];

    声明数组的语法:

    A.数据类型 [] 数组名称= new 数据类型[2]{1,2};

    B.数据类型 [] 数组名称 = new 数据类型[数组大小];

    C. 数据类型 [] 数组名称 = {数据,数据,数据,数据};

    ***数组的长度一旦固定了,就不能再被改变了

    可以通过索引来访问数组中的元素: 数组名称[索引位置]

    案例:

     

    多维数组:多个线性数组的值 

    二维:int [,] arr = new int[3,5];

    三维:int [,,] arr = new int[2,4,5];

    多维数组使用GetLength获取长度,维数同样是从0开始

    案例:

     

    交错数组:数组中数组。

    声明语法:int [][] arr = new int[2][];//arr包含两个元素

    int [0] = new int[2];//第一个元素是两个整数的数组

    int [1] = new int[3];//第二个元素是三个整数的数组

    与多维数组相比较,交错数组具有更好的性能。

     

    Array数组:

    声明语法:Array arr = Array.CreateInstance(typeof(int),3);//类型为int,长度为3

     

    集合:

    在本篇只讲述楼主在项目中常用的几个集合类;

    [PS: 想看.NET 中集合大盘点请看 http://www.kuqin.com/shuoit/20150331/345474.html]

    ArrayList

     

    List

     

    Hashtable

     

    HashtableArraylist的区别:

    Hashtable键值映射,简单说键对应值,我们认给每值都起名字,键所谓名字,我们通过名字来寻找值,而Arraylist集合,线性结构存储数据,集合存储内容都值,并且我们给每值用索引做编号,所遍历过程我们用索引;

    Arraylist有序,而Hashtable无序;

    Arraylist可在特定位置添加、删除元素,而Hashtable只能顺序添加。

    Arraylist 索引为0 ,     Hashtable object(自定义)

    Dictionary

     

    数组和集合的区别:

    1.数组是固定大小的,不能伸缩。虽然System.Array.Resize这个泛型方法可以重置数组大小,但是该方法是重新创建新设置大小的数组,用的是旧数组的元素初始化。随后以前的数组就废弃!而集合却是可变长的

     

    2.数组要声明元素的类型,集合类的元素类型却是object.

     

    3.数组可读可写不能声明只读数组。集合类可以提供ReadOnly方法以只读方式使用集合。

     

    4.数组要有整数下标才能访问特定的元素,然而很多时候这样的下标并不是很有用。集合也是数据列表却不使用下标访问。很多时候集合有定制的下标类型,对于队列和栈根本就不支持下标访问!

     

    5.数组可以有维数,集合没有。

    异常捕获:

    我们在程序中经常会出现各种各样的异常,你如果想要你的程序变得坚强一些。

    在你的代码中应该经常性的使用try-catch来进行异常捕获。

    语法:

    try

    {

        可能会出现异常的代码;

    }

    //try和catch之间不能有其他的代码

    catch

    {

        出现异常后要执行的代码;

    }

    执行过程:如果try中的代码没有出现异常,那么catch中的代码不会执行。

    如果try中的代码出现了异常,那怕这行出现异常的代码后面还有一百行都不会执行了,

    而是直接跳到catch中执行代码

    try{

    //抛出异常

     //程序代码;

    }catch(Exception e){//捕获并处理异常.如果有多个catch块,父类(Exception)必须在后面

         //异常处理代码;

         Console.WriteLine(e.Message);//显示描述错误状况的文本

         Console.WriteLine(e.Source);//显示导致异常发生的应用程序或对象的名称

         Console.WriteLine(e.StackTrace);//提供在堆栈中所调用方法的详细信息,并首先最近调用的方法。

         Console.WriteLine(e.InnerException);//提供对内部异常的访问。

    }

    finally{

    //最终处理

    }

     

    好了 , 本篇就到这里了,另本篇提供的案例只有截图,没有运行的结果,请自行处理咯。希望能对初学者带来帮助,更希望大神能带带我们,带我们装逼,带我们飞。。。

    最后打个小广告:QQ群: .NET 一步步一幕幕   群号:590170361 (加群备注:博客园看到的)

  • 相关阅读:
    jmeter压力测试报错:java.net.BindException: Address already in use: connect
    C# 对话框总结(转载)
    C# 文件操作方法大全(转载)
    C#实现进度条progress control(转载)
    在Windows下架设FTP服务器
    .Net环境下,使用installutil.exe注册、删除windows服务
    用双网卡实现跨网段访问(转载)
    HTTP协议详解(转载)
    学习开发web服务(转载)
    C# 实现http协议的GET和POST请求(转载)
  • 原文地址:https://www.cnblogs.com/yuhangwang/p/6212970.html
Copyright © 2011-2022 走看看