热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C#编程语言(五):数组

数组数组是一组通过数字索引访问的的数据项。准确来说,数据是一组相同类型的数据点(如:int数组,string数组࿰

数组

   数组是一组通过数字索引访问的的数据项。准确来说,数据是一组相同类型的数据点(如:int数组,string数组,Car数组)。

  int[]  vInts=new int[3];//包含2个整型的数据,编号0~2

 string[] vStrings=new String[2];//包含2个字符串的数字,编号0、1

数组声明中的数字就表示像的总数,而不是上界。数组的下界总是从0开始。
可以使用索引来填充元素了。

vInts[0]=1;vInts[1]=2;vInts[2]=3;

vStrings[0]="bruce";vStrings[0]="rita";

除了逐个元素填充数组之外,还可以使用数组初始化语法来填充数组元素通过花括号{}内指定每一个数据项来实现。

 如:

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

int[] vInts2=new int[]{0,1,2};

int[] vInts3={0,1,2};

当使用花括号初始化数据时,可以不指定数组的大小(vInts2的方法)。因为可以从花括号的项的个数推断。new关键字也是可选的(vInts3的方法)。

System.Array基类 

Array 类是支持数组的语言实现的基类。数组从Array基类中获取了许多功能,使用Array基类的公共成员,我们能使用统一的对象模型操作数组。

部分公共属性:

Rank 获取 Array 的秩(维数)。

Length 获得一个 32 位整数,该整数表示 Array 的所有维数中元素的总数。

部分公共方法

Clear 将 Array 中的一系列元素设置为零、false 或 空引用(在 Visual Basic 中为 Nothing),具体取决于元素类型。 

Clone 创建 Array 的浅表副本。 

Copy 将一个 Array 的一部分元素复制到另一个 Array 中,并根据需要执行类型强制转换和装箱。 

CopyTo 将当前一维 Array 的所有元素复制到指定的一维 Array 中。 

Exists 确定指定数组包含的元素是否与指定谓词定义的条件匹配。

Find 搜索与指定谓词定义的条件匹配的元素,然后返回整个 Array 中的第一个匹配项。

FindAll 检索与指定谓词定义的条件匹配的所有元素。 

Reverse 反转一维 Array 或部分 Array 中元素的顺序。

Resize 将数组的大小更改为指定的新大小。 

Sort  对一维 Array 对象中的元素进行排序。 

GetEnumerator 返回 Array 的 IEnumerator。  

GetUpperBound 获取 Array 的指定维度的上限。 

GetLowerBound 获取 Array 中指定维度的下限。 

代码示例说明 Array.Copy 如何在 integer 类型的数组和 Object 类型的数组之间复制元素。

public class SamplesArray {

public static void Main() {

// Creates and initializes a new integer array and a new Object array.
int[] myIntArray = new int[5] { 1, 2, 3, 4, 5 };
Object[] myObjArray
= new Object[5] { 26, 27, 28, 29, 30 };

// Prints the initial values of both arrays.
Console.WriteLine( "Initially," );
Console.Write(
"integer array:" );
PrintValues( myIntArray );
Console.Write(
"Object array: " );
PrintValues( myObjArray );

// Copies the first two elements from the integer array to the Object array.
Array.Copy( myIntArray, myObjArray, 2 );

// Prints the values of the modified arrays.
Console.WriteLine( "\nAfter copying the first two elements of the integer array to the Object array," );
Console.Write(
"integer array:" );
PrintValues( myIntArray );
Console.Write(
"Object array: " );
PrintValues( myObjArray );

// Copies the last two elements from the Object array to the integer array.
Array.Copy( myObjArray, myObjArray.GetUpperBound(0) - 1, myIntArray, myIntArray.GetUpperBound(0) - 1, 2 );

// Prints the values of the modified arrays.
Console.WriteLine( "\nAfter copying the last two elements of the Object array to the integer array," );
Console.Write(
"integer array:" );
PrintValues( myIntArray );
Console.Write(
"Object array: " );
PrintValues( myObjArray );
}


public static void PrintValues( Object[] myArr ) {
foreach ( Object i in myArr ) {
Console.Write(
"\t{0}", i );
}
Console.WriteLine();
}

public static void PrintValues( int[] myArr ) {
foreach ( int i in myArr ) {
Console.Write(
"\t{0}", i );
}
Console.WriteLine();
}
}
/*
This code produces the following output.

Initially,
integer array: 1 2 3 4 5
Object array: 26 27 28 29 30

After copying the first two elements of the integer array to the Object array,
integer array: 1 2 3 4 5
Object array: 1 2 28 29 30

After copying the last two elements of the Object array to the integer array,
integer array: 1 2 3 29 30
Object array: 1 2 28 29 30
*/

转:https://www.cnblogs.com/bruce-wong/archive/2011/02/28/1967097.html



推荐阅读
  • 导出功能protectedvoidbtnExport(objectsender,EventArgse){用来打开下载窗口stringfileName中 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • 本文介绍了在sqoop1.4.*版本中,如何实现自定义分隔符的方法及步骤。通过修改sqoop生成的java文件,并重新编译,可以满足实际开发中对分隔符的需求。具体步骤包括修改java文件中的一行代码,重新编译所需的hadoop包等。详细步骤和编译方法在本文中都有详细说明。 ... [详细]
  • 本文介绍了在实现了System.Collections.Generic.IDictionary接口的泛型字典类中如何使用foreach循环来枚举字典中的键值对。同时还讨论了非泛型字典类和泛型字典类在foreach循环中使用的不同类型,以及使用KeyValuePair类型在foreach循环中枚举泛型字典类的优势。阅读本文可以帮助您更好地理解泛型字典类的使用和性能优化。 ... [详细]
  • 本文介绍了如何使用OpenXML按页码访问文档内容,以及在处理分页符和XML元素时的一些挑战。同时,还讨论了基于页面的引用框架的局限性和超越基于页面的引用框架的方法。最后,给出了一个使用C#的示例代码来按页码访问OpenXML内容的方法。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文介绍了GregorianCalendar类的基本信息,包括它是Calendar的子类,提供了世界上大多数国家使用的标准日历系统。默认情况下,它对应格里高利日历创立时的日期,但可以通过调用setGregorianChange()方法来更改起始日期。同时,文中还提到了GregorianCalendar类为每个日历字段使用的默认值。 ... [详细]
  • PHP反射API的功能和用途详解
    本文详细介绍了PHP反射API的功能和用途,包括动态获取信息和调用对象方法的功能,以及自动加载插件、生成文档、扩充PHP语言等用途。通过反射API,可以获取类的元数据,创建类的实例,调用方法,传递参数,动态调用类的静态方法等。PHP反射API是一种内建的OOP技术扩展,通过使用Reflection、ReflectionClass和ReflectionMethod等类,可以帮助我们分析其他类、接口、方法、属性和扩展。 ... [详细]
  • node.jsurlsearchparamsAPI哎哎哎 ... [详细]
  • angular.element使用方法及总结
    2019独角兽企业重金招聘Python工程师标准在线查询:http:each.sinaapp.comangularapielement.html使用方法 ... [详细]
author-avatar
云小白
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有