声明: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();
                 }
       }

运行结果如下:

(2)找出整型数组中最大的元素和其索引值。

源程序代码如下:

运行结果如下:

C#中判断一个数组中是否存在某个数组值 及相关的更多相关文章

  1. Excel中判断一个表中的某一列的数据在另一列中是否存在

      A B C D 1 10   3 有 2 6   e 无 3 3   6 有 判断c列的值在A列中是否存在(假定C列为需要判断列,A列为目标列) 在D1中输入以下公式,然后下拉公式即可 =IF(C ...

  2. javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数

    javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数 function test(){ var bt = document.getElementById(" ...

  3. Day_09【常用API】扩展案例1_程序中使用一个长度为3的对象数组,存储用户的登录名和密码……

    需求说明:实现用户注册.登陆功能: 1.程序中使用一个长度为3的**对象数组**,存储用户的登录名和密码: 例如如下格式: 登录名 密码 生日 爱好 zhangsan 1111 1998-03-15 ...

  4. c c++怎么判断一个字符串中是否含有汉字

    c c++怎么判断一个字符串中是否含有汉字 (2013-02-05 10:44:23) 转载▼     #include  #include  int main() { char sztext[] = ...

  5. C#判断一个类中有无&quot;指定名称&quot;的方法

    C#中可以通过反射分析元数据来解决这个问题,示例代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 ...

  6. 在C中判断变量存储类型(字符常量/数组/动态变量)

    在C中判断变量存储类型(字符常量/数组/动态变量) 在chinaunix论坛上有人问到关于变量存府类型的问题,我觉得可以写个测试代码加深大家对内存使用和布局的理解.下面我把原问题及处理办法贴出来,限供 ...

  7. java 判断一个字符串中的数字:是否为数字、是否包含数字、截取数字

    题外话: JavaScript中判断一个字符是否为数字,用函数:isDigit(); 一.判断一个字符串是否都为数字 package com.cmc.util; import java.util.re ...

  8. 判断是否是同一人的方法——equals()?在Person类中提供一个比较的方法compare()返回boolean值?对象自己和自己比?

    判断是否是同一人的方法——equals() 不能直接用per1==per2,这不是对象内容的比较而是存放对象地址的值得比较 在Person类中提供一个比较的方法compare()返回boolean值 ...

  9. jquery ajax中支持哪些返回类型以及js中判断一个类型常用的方法?

    1 jquery ajax中支持哪些返回类型在JQuery中,AJAX有三种实现方式:$.ajax() , $.post , $.get(). 预期服务器返回的数据类型.如果不指定,jQuery 将自 ...

  10. Java 正则判断一个字符串中是否包含中文

    使用正则判断一个字符串中是否包含中文或者中文字符 代码实现如下: import java.util.regex.Matcher; import java.util.regex.Pattern; /** ...

随机推荐

  1. linux软件包的安装和卸载

    这里分两种情况讨论:二进制包和源代码包. 一.linux二进制分发软件包的安装和卸载 Linux软件的二进制分发是指事先已编译好二进制形式的软件包的发布形式,其长处是安装使用容易,缺点则是缺乏灵活性, ...

  2. VS插件开发

    参考资料: VS插件开发 - 个性化VS IDE编辑器 自己动手编写一个VS插件(一) VS Addin插件基本开发入门 VS Addin插件配置.部署

  3. Toad 中的compare使用方法

    1.首先连接要对比后执行的数据库 2.设置对比内容 3.对比后的执行脚本

  4. CXF自动生成客户端

    官网下载apache-cxf-3.1.6,bin目录下.配置环境变量,生成客户端 http://blog.csdn.net/jaune161/article/details/25499939 http ...

  5. Jsp运行环境——Tomcat

    JSP JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它[1] 是由Sun Microsystems公司倡导.许多公司参与一起建立的 ...

  6. Hive 报错:java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient

    在配置好hive后启动报错信息如下: [walloce@bigdata-study- hive--cdh5.3.6]$ bin/hive Logging initialized using confi ...

  7. linux下.bashrc文件 /PATH环境变量修改 /提示符修改

    1) .bashrc文件 在linux系统普通用户目录(cd /home/xxx)或root用户目录(cd /root)下,用指令ls -al可以看到4个隐藏文件, .bash_history   记 ...

  8. CentOS6.5下安装iRedMail中需要解决的问题

    iRedMail是个专门用于Redhat/CentOS下的企业Mail服务集成安装软件包,本来只要有干净的系统就可以轻松安装,无奈国内网络状况和墙头众多,安装中也有很多问题需要解决,下面记录的都是我安 ...

  9. 【Tomcat】Tomcat容器 web.xml详解

      Tomcat的安装目录下的conf目录下的web.xml文件有许多配置,例如: <init-param> <param-name>debug</param-name& ...

  10. 使用IntelRealScene设备结合Cocos引擎实现体感游戏开发

    英特尔开发人员专区原文地址 Cocos游戏开发引擎对于广大开发者来说都比较熟悉,Intel RealScene是什么呢,简单理解是一种特殊的摄像头,可以捕捉用户的手势,面部表情等,进而实现AR,VR的 ...