C#交错数组浅析
C#数组有很多值得学习的地方,这里我们主要介绍C#交错数组,包括介绍一维数组例、二维数组例、C#交错数组等方面。
数组是在我们编程当中经常用到的,想来大家对数组都有一定的概念,这部分内容将给大家详细讲解数组在C#中是如何来定义及使用的。
定义:数组是具有同一类型的一组值,数组是引用类型的,因此存在内存堆中。数组中的元素值可以在定义数组时赋予,也可以在定义数组后对单个元素进行赋值。
public static void Main()
{
//一维数组
int[] inti = new int[3] { 1, 2, 3 };
//定义一个数组inti并定义其只能有3个元素,值分别为1,2,3
inti[1] = 4;//改变inti[1]也就是第二个元素的值为4.
Console.WriteLine(inti[0], inti[1], inti[2]);
}
public static void Main()
{
//二维数组
int[,] inti = new int[2, 3] { { 1, 2, 3 }, { 4, 5, 6 } };
//定义一个2行3例的二维数组inti,并为其赋值.
inti[1, 0] = 5;//改变inti[1,0]也就是第二例,第一行的元素的值为5.
for (int i = 0; i < inti.GetLength(0); i++)
//inti.GetLength()方法为获取数组指定维的元素个数.
{
for (int j = 0; j < inti.GetLength(1); j++)
//第一个for循环遍历二维数组的列,第二个for循环遍历二维数组的行.
{
Console.WriteLine(inti[i, j]);
//打印inti数组中指定元素的值.
}
}
}
注:我们可以改变[2,3]中的值,只是在改变二维数组的行数与列数,要想增加其维数,可以[2,3,2]这样来表示.
C#交错数组:
下面,我们介绍一个非常有个性的数组,叫做数组中的数组(C#交错数组)
public static void Main()
{
//交错数组
int[][] inti = new int[3][];
//与一维或多维数组不同,交错数组需要定义二个[]号,
在不指定初始指的情况下,必须指定第一个下标的个数.
inti[0] = new int[] { 1, 2, 3 };//为交错数组赋值
inti[1] = new int[] { 3, 4, 5, 6, 7 };
inti[2] = new int[] { 3, 4 };
for (int i = 0; i < inti.Length; i++)
//以inti的元素个数为循环次数
{
for (int j = 0; j < inti[i].Length; j++)
//以inti[i]的元素个数为循环次数
{
Console.Write(inti[i][j]);
//打印交错数组
}
Console.WriteLine();
//以inti的数组元素为准进行换行.
}
}
注:我们看到这二维数组与C#交错数组打印的结果差不多,但要注意的是,C#交错数组内部的每个数组都是可以定维数的,另外不像二维数组那样有列就有行,C#交错数组中每个数组的元素值是可以不同。
相关推荐
-
C#使用foreach语句遍历二维数组的方法
本文实例讲述了C#使用foreach语句遍历二维数组的方法.分享给大家供大家参考.具体分析如下: 如果通过for语句循环遍历二维数组需要两重循环才可以,二foreach语句只需要一次可以完全遍历整个二维数组,下面是代码演示 using System; public class w3demo{ public static void Main() { int sum = 0; int[,] nums = new int[3,5]; // give nums some values for(int i
-
C#将字节数组转换成数字的方法
本文实例讲述了C#将字节数组转换成数字的方法.分享给大家供大家参考.具体实现方法如下: // Create a decimal from a byte array public static decimal ByteArrayToDecimal (byte[] src) { // Create a MemoryStream containing the byte array using (MemoryStream stream = new MemoryStream(src)) { // Crea
-
C#将数字转换成字节数组的方法
本文实例讲述了C#将数字转换成字节数组的方法.分享给大家供大家参考.具体实现方法如下: 下面的代码用到了MemoryStream 和 BinaryWriter // Create a byte array from a decimal public static byte[] DecimalToByteArray (decimal src) { // Create a MemoryStream as a buffer to hold the binary data using (MemorySt
-
C#将布尔类型转换成字节数组的方法
本文实例讲述了C#将布尔类型转换成字节数组的方法.分享给大家供大家参考.具体如下: byte[] b = null; b = BitConverter.GetBytes(true); Console.WriteLine(BitConverter.ToString(b)); 希望本文所述对大家的C#程序设计有所帮助.
-
C#使用foreach语句简单遍历数组的方法
本文实例讲述了C#使用foreach语句简单遍历数组的方法.分享给大家供大家参考.具体如下: using System; public class jb51demo { public static void Main() { int sum = 0; int[] nums = new int[10]; // give nums some values for(int i = 0; i < 10; i++) nums[i] = i; // use foreach to display and su
-
C#使用foreach语句搜索数组元素的方法
本文实例讲述了C#使用foreach语句搜索数组元素的方法.分享给大家供大家参考.具体分析如下: 下面的代码通过foreach语句对数组遍历,然后对元素进行逐个比较的方法来查找数组中的元素 using System; public class Search { public static void Main() { int[] nums = new int[10]; int val; bool found = false; // give nums some values for(int i =
-
C#使用自定义算法对数组进行反转操作的方法
本文实例讲述了C#使用自定义算法对数组进行反转操作的方法.分享给大家供大家参考.具体如下: C#的Array对象自带反转功能,但是下面的代码完全通过自定义的算法来实现数组反转 复制代码 代码如下: public static void ReverseArray<T>(this T[] inputArray) { T temp = default(T); if (inputArray == null) throw new ArgumentNullException("i
-
C#交错数组用法实例
本文实例讲述了C#交错数组用法.分享给大家供大家参考.具体分析如下: 交错数组是数组的数组,交错数组的元素可以是不同的尺寸和大小.交错数组有时也被称为"数组的数组".下面的示例显示如何声明,初始化和访问交错数组. 你有一写数据行,如整数,要将其存储在一个单一的数据结构.就可以用到交错数组了. 交错数组的循环遍历要比二维数组快,也比二维数组节省空间 下面的交错数组包含三行,第一行有两个元素,第二排有六个元素,第三排有三个要素 int[][] jagged = new int[3][];
-
C#交错数组浅析
C#数组有很多值得学习的地方,这里我们主要介绍C#交错数组,包括介绍一维数组例.二维数组例.C#交错数组等方面. 数组是在我们编程当中经常用到的,想来大家对数组都有一定的概念,这部分内容将给大家详细讲解数组在C#中是如何来定义及使用的. 定义:数组是具有同一类型的一组值,数组是引用类型的,因此存在内存堆中.数组中的元素值可以在定义数组时赋予,也可以在定义数组后对单个元素进行赋值. 一维数组例: 复制代码 代码如下: public static void Main() { //一维数组 int[]
-
深入解析C#中的交错数组与隐式类型的数组
交错数组 交错数组是元素为数组的数组.交错数组元素的维度和大小可以不同.交错数组有时称为"数组的数组".以下示例说明如何声明.初始化和访问交错数组. 下面声明一个由三个元素组成的一维数组,其中每个元素都是一个一维整数数组: int[][] jaggedArray = new int[3][]; 必须初始化 jaggedArray 的元素后才可以使用它.可以如下例所示初始化该元素: jaggedArray[0] = new int[5]; jaggedArray[1] = new int
-
C#交错数组知识点分析
交错数组:数组元素本身也是一个数组 public static void Main(string[] args) { int[][] arr = new int[5][]; arr[0] = new int[8]; arr[1] = new int[8]; arr[2] = new int[8]; arr[3] = new int[8]; arr[4] = new int[8]; Random rdm = new Random(); for (int i = 0; i < arr.Length;
-
C#中多维数组[,]和交错数组[][]的区别
多维数组的声明 在声明时,必须指定数组的长度,格式为 type [lenght ,lenght ,lengh, ... ] int [,] test1 = new int [3,3]; 或声明时即赋值,由系统推断长度 int [,] test1 = { {1,2,3}, {1,2,3}, {1,2,3}, }; 交错数组的声明 声明时,至少需要指定第一维的长度,格式为 type [ ] [ ] [ ] ... int [][] test1 = new int[5][]; int [][] tes
-
C#数组应用分析第1/2页
以下内容来自MSDN 数组是具有相同数据类型的项的有序集合.要访问数组中的某个项,需要同时使用数组名称及该项与数组起点之间的偏移量.在 C# 中,声明和使用数组的方法与 Java 有一些重要区别. 一维数组 一维数组以线性方式存储固定数目的项,只需一个索引值即可标识任意一个项.在 C# 中,数组声明中的方括号必须跟在数据类型后面,且不能放在变量名称之后,而这在 Java 中是允许的.因此,类型为 integers 的数组应使用以下语法声明: int[] arr1; 下面的声明在 C# 中无效
-
C#中数组Array,ArrayList,泛型List详细对比
在C#中数组Array,ArrayList,泛型List都能够存储一组对象,但是在开发中根本不知道用哪个性能最高,下面我们慢慢分析分析. 一.数组Array 数组是一个存储相同类型元素的固定大小的顺序集合.数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合. Array 类是 C# 中所有数组的基类,它是在 System 命名空间中定义. 数组在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也非常简单. Array数组具体用法: using System; names
-
C# 数组实例介绍(图文)
数组即是一组相同类型组合在一起,使用一个通用的名称,通过分配的下标访问的数据集合中的元素. 数组是具有相同类型的一组数据.当访问数组中的数据时,可以通过下标来指明.c#中数组元素可以为任何数据类型,数组下标从0开始,即第一个元素对应的下标为0,以后逐个递增.数组可以一维也可多维. 一维数组是最基本的数组类型,其声明方法如下: 数据类型 [ ] 数组名 ; 举例: int [ ] anArray ; // 声明一个整型的一维数组 具有两个维度的数组是二维数组,其声明方法如下: 数据类型 [ , ]
-
C#数组学习相关资料整理
数组概述 C# 数组从零开始建立索引,即数组索引从零开始.C# 中数组的工作方式与在大多数其他流行语言中的工作方式类似.但还有一些差异应引起注意. 声明数组时,方括号 ([]) 必须跟在类型后面,而不是标识符后面.在 C# 中,将方括号放在标识符后是不合法的语法. int[] table; // not int table[]; 另一细节是,数组的大小不是其类型的一部分,而在 C 语言中它却是数组类型的一部分.这使您可以声明一个数组并向它分配 int 对象的任意数组,而不管数组长度如何. 复制代
-
C#和Java中二维数组区别分析
本文实例讲述了C#和Java中二维数组区别,分享给大家供大家参考.具体分析如下: 在Java中使用二维数组可以如下代码: 复制代码 代码如下: public class Array2D{ public static void main(String[] args){ int myInt[][]=new int[5][10]; //遍历,给数组中的每一个数组赋值 for(int i=0;i<myInt.length;i++){
随机推荐
- 详解AngularJs中$sce与$sceDelegate上下文转义服务
- AngularJS实用基础知识_入门必备篇(推荐)
- Kotlin入门教程之开发环境搭建
- 内存型数据库Redis持久化小结
- VBScript语法速查及实例说明
- 在Windows与Linux下禁止被ping的设置方法[推荐]
- linux停止和查看启动服务的命令使用方法
- java web如何解决瞬间高并发
- iOS自定义UICollectionViewLayout实现瀑布流布局
- JS实现可直接显示网页代码运行效果的HTML代码预览功能实例
- python实现逻辑回归的方法示例
- 详解mysql建立索引的使用办法及优缺点分析
- 基于firefox实现ajax图片上传
- AJAX实践DWR篇
- JavaWeb使用Cookie模拟实现自动登录功能(不需用户名和密码)
- Android入门:多线程断点下载详细介绍
- C#编程获取客户端计算机硬件及系统信息功能示例
- C#邮件定时群发工具Atilia用法实例
- java实现随机数生成器
- C语言字符/字符串相关函数收藏大全