zoukankan      html  css  js  c++  java
  • C#中判断一个数组中是否存在某个数组值 及相关

    声明:reference:http://www.cnblogs.com/icebutterfly/archive/2010/06/22/1762738.html;http://blog.csdn.net/jimlong/article/details/3951314

    paste 1:

    (1) 第一种方法:

    int[] ia = {1,2,3};
    int id = Array.IndexOf(ia,1); // 这里的1就是你要查找的值
    if(id==-1)
      // 不存在
    else
      // 存在

    (2) 第二种方法:

    string[] strArr = {"a","b","c","d","e"};
    bool exists = ((IList)strArr).Contains("a");
    if(exists) 
      // 存在
    else
      // 不存在

    注意: 用IList需要using System.Collections;

    paste 2:

    数组是一种常用的数据类型,且属于引用类型。它是由一组相同数据类型的元素构成的。在C#语言的类型系统中,数组由抽象类System.Array派生而来的。在内存中,数组占用一块连续的内存,元素按顺序连续存放在一起,数组中每一个单独的元素并没有自己的名字,但是可以通过其位置(索引)来进行访问或修改。

    在C#中,数组元素的索引是从0开始的,即对于有N个元素的数组,其索引范围是从0~N-1。

    在这里重点讨论一下一位数组的使用方法。

    1.一维数组的声明

    数组声明时,主要声明数组的名称和所包含的元素类型,一般格式如下:
                             数组类型[] 数组名;

    数组类型,可以使C#中任意有效的数据类型,包括类;数组名可以是C#中任意有效的标识符。下面是数组声明的几个例子:

    int[ ]  num;
           float [ ]  fNum;
           string[ ]  sWords;
           Studnet[ ] stu;         //Student是已定义好的类类型

    注意:

    数据类型[ ] 是数组类型,变量名放在[ ]后面,这与C和C++是不同的;

    声明数组时,不能指定长度。

    2.一维数组的创建

    创建数组就是给数组对象分配内存。因为数组本身也是类,所以跟类一样,声明数组时,并没有真正创建数组,使用前,要用new操作符来创建数组对象。创建方法有以下几种方法:

    (1)先声明,后创建

    形式为:

                      数据类型[ ]  数组名;
                             数组名 = new 数据类型[元素个数];

    下面举几个例子:

        int [] num;   num = new int[10];        //声明并创建了一个具有10个整型元素的数组num。
               string[ ]  str;  str = new string[3];     //声明并创建了一个具有3个字符串数据类型的数组str.
               double [] dnum;  dnum = new double[5];  //声明并创建了一个具有5个double型数据元素的数组dnum.

    (2)声明的同时创建数组

                      数据类型[ ]  数组名 =  new 数据类型[元素个数];

    下面是几个例子:

        int[] num = new int[10];
               double[] t = new double[4];
               short[] st = new short[17];

    3.一维数组的初始化

    数组在定义的同时给定元素的值,即为数组的初始化,初始化方法有以下几种:

    (1)数据类型[ ]  数组名 = new 数据类型[元素个数]{初始值列表};  如以下例子:

             int [] num = new int[4]{12,34,56,78};
                   string[ ] str = new string[3]{"you","and","me"};
                   float[ ] f = new float[5]{1.345f,12,13.5f,109.345f,12.1f};

    (2)省略数组的大小,即:数据类型[ ]  数组名 = new 数据类型[ ]{初始值列表};  如以下的例子:

             short[ ] st = new short[]{2,4,67,3};        //数组元素的个数为4
                    int[ ] iNum = new int[]{23,45,67,89,100,234,567,234};     //数组元素的个数为8

    (3)进一步省略new和数据类型[],即:数据类型[ ]  数组名 = {初始值列表};  如以下的例子:

             string[ ] names = {"wangtao","liuli","sanmao","shanghaitan","jinghuayanyun"};
                    int [ ] iNum = {45,28,34,74,84};

    4.一维数组的赋值

    要给数组赋值,需要用到数组的索引,格式为:

                     数组名[索引值] = 数据的值;

    下面试一个例子:

    int [] a = new int[4];

    a[0] = 24;
           a[1] = 54;
           a[2] = 87;
           a[3] = 93;

    注意到以上的例子索引是从0~3。我们也看出,在给数组进行大量的赋值时,显得较麻烦,不如初始化方便。

    5.数组类常用属性和方法

    Length   获得数组元素的个数

    Rank       获得数组的秩(维数),对于一维数组来说,Rank 总是为1。

    GetLength(int)   获得指定维度的元素个数。

    6.数组应用举例

    (1)用选择法对10个数按着由小到大进行排序。

    源程序代码如下:

    using System;

    class Class1
           {
                  static void Sort(int[] a)
                  {
                          int i,j,k,temp;
                          for(i=0;i<a.Length-1;i++)
                          {
                                     k=i;
                                     for(j=i+1;j<a.Length;j++)
                                     if(a[k]>a[j])
                                              k=j;
                                     if(k!=i)
                                     {temp = a[i];a[i] = a[k]; a[k] = temp;}
                             }
                    }
                    static void Main(string[] args)
                    {
                                 int[] AA = new int[]{918,124,58,1125,825,51,82};
                                 Sort(AA);
                                 Console.WriteLine("排序后的结果:");
                                 for(int i=0;i<AA.Length;i++)
                                         Console.Write(AA[i]+" ");
                                  Console.WriteLine();
                     }
           }

    C# 数组的五种声明方式

    c#中数组有五种声明方式:

    一, 声明一个未初始化的始祖,将其转换为一个实例

    Int[]intArray  

    IntArray=new int [10];   

     注意:数组的引用必须用相同的或者相关的类型实例化,数组初始化默认值,值的类型为0,引用类型为null

    二, 声明数组的时候就对他进行初始化,该数组立即被赋予一个数组的新实例

    Int[] intArray =new int[10];   

    三,声明一个数组,初始化数组进行禁用,并给数组元素赋值

    Int[]intArray=new int[3]{1,2,3,};   

    实例化的时候数字应该用“,”隔开,且实例个数应该与数组长度一直

    四,与第三种方式基本相同,只是不设置数组的初使化大小,由数组元素确定。

     int[] intArray = new int[]{1,2,3};   

    五、这是第四种方式的简化版,其中的数组类型与数组大小是根据初使化列表推断出来的。

     int[] intArray = {1,2,3};  

  • 相关阅读:
    Introduction to PostGIS 之加载shp数据
    缺陷管理总结篇
    对lIKE语句的优化
    数据库查询优化
    如何在 32 位版本的 ASP.NET 1.1 和 64 位版本的 ASP.NET 2.0 之间切换
    加载启动目录以外的DLL(Assembley)的3种方法
    C#中使用windows medie player控件
    在Asp.net中使用多线程
    编程控制windows防火墙的exception list.
    读书笔记Win32多线程程序设计(1)
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/4580707.html
Copyright © 2011-2022 走看看