c#数组使用复习

原创 2016年08月28日 20:08:10
1.二维数组的使用
使用Rank可以获得数组的维度,使用GetUpperBound(0)可以获得第一维度的最高下表索引值,一次类推
using System;
class Test
{
    public static void Main(string[] args)
    {
        int [,]arr=new int[2,2]{{1,2},{2,3}};
        Console.WriteLine(arr.GetUpperBound(0) + 1);  //获得数组的行数
        Console.WriteLine(arr.GetUpperBound(1) + 1);  //获得数组的列数
        Console.Read();
    }
}

2.动态数组的创建
using System;
class Test
{
    public static void Main(string[] args)
    {
        int row = Convert.ToInt32(Console.ReadLine());
        int col = Convert.ToInt32(Console.ReadLine());
        int[,] arr = new int[row, col];
        for (int i = 0; i < arr.GetUpperBound(0) + 1; i++)
            for (int j = 0; j < arr.GetUpperBound(1) + 1; j++)
                Console.WriteLine(i + j.ToString());
        Console.ReadLine();
    }
}


3.数组的排序和反转可以使用Array的成员函数Sort和Reverse来实现
using System;
class Test
{
    public static void Main(string[] args)
    {
        int[] arr = new int[] { 2, 9, 6, 5, 4, 3, 1 };
        Array.Sort(arr);
        Array.Reverse(arr);
        foreach (int n in arr)
            Console.WriteLine(n);
        Console.ReadLine();
    }
}

4.ArrayList类
4.1这是一个高级动态数组
using System;
using System.Collections;
class Test
{
    public static void Main(string[] args)
    {
        ArrayList List = new ArrayList(10);
        Console.WriteLine(List.Count);  //数量树0,容量是10
        for (int i = 0; i < List.Capacity; i++)
            List.Add(i);
        foreach (int n in List)
            Console.WriteLine(n);
        Console.ReadLine();
    }
}


ArrayList判断是否有包含的元素
using System;
using System.Collections;
class Test
{
    public static void Main(string[] args)
    {
        ArrayList list = new ArrayList();
        list.Add("TIME");
        list.Add("今天你好吗");
        Console.WriteLine(list.Contains("TIME"));
    }
    
}

5.hashtable的使用
public vritual void Add(Object key,Object value)这个函数用于向hash表添加元素,由于Hashtable中的元素是键值对,因此需要使用DictionaryEntry类型来遍历,DictionaryEntry类型表示一个键值对的集合
例如
using System;
using System.Collections;
class Test
{
    public static void Main(string[] args)
    {
        Hashtable hash = new Hashtable();
        hash.Add("id", "ddddd");  //向hash表添加元素
        hash.Add("name", "asdfsa");
        hash.Add("sex", "asdcv");
        //hash.Add("name", "asdf"); //不能有相同的键
        //hash.Clear();  //用于清空hash表
        hash.Remove("sex"); //用于移除指定键
        Console.WriteLine(hash.Count);
        foreach (DictionaryEntry dict in hash)  //hashtable的遍历
            Console.WriteLine(dict.Key + "   " + dict.Value);
        Console.WriteLine(hash.Contains("id"));  //是否包含特定的键
        Console.WriteLine(hash.ContainsValue("id"));   //使用包含特定的值
      
    }
}

相关文章推荐

c#学习体会:使用 ref 和 out 传递数组(downmoon)

c#学习体会:使用 ref 和 out 传递数组(downmoon),希望与大家分享 1、与所有的 out 参数一样,在使用数组类型的 out 参数前必须先为其赋值,即必须由接受方 为其赋值。例如:...
  • pp_zz
  • pp_zz
  • 2011年12月22日 16:38
  • 149

C#中数组、ArrayList与List三个对象的使用区别

我们在使用c#开发中,经常使用到数组,ArrayList,List这三个对象了。那么这三者到底有什么样的区别呢? 数组有很多的优点,比如说数组在内存中是连续存储的,所以它的索引速度是非常的快...

c# ---使用 ref 和 out 传递数组

与所有的 out 参数一样,在使用数组类型的 out 参数前必须先为其赋值,即必须由被调用方为其赋值。 例如: C# 复制 static void...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c#数组使用复习
举报原因:
原因补充:

(最多只允许输入30个字)