C#(十一)之数组(一)

简介: C#的数组是需要实例化的,实例化的方式有两种1:直接赋值。2:使用new关键字,实例化的时候要声明维度和每个维度的长度。

QQ图片20220426110546.jpg

C#中的数组。


C#的数组和我之前使用的PHP的数组完全不一样。


C#的数组是需要实例化的,实例化的方式有两种


1:直接赋值。

2:使用new关键字,实例化的时候要声明维度和每个维度的长度。


1:定义数组

数组创建必须有数组大小或数组初始值设定项


声明数组的同时给数组赋值


数据类型+数组标示 = {成员1,成员2,……};


例:


//定义一个数组
int[] array = { 1, 2, 3, 4, 5 };
Console.WriteLine(array[1]);  //输出数组中的key值为1的成员  2


创建不始化一个数组


int[] add = new int[3];
add[0] = 9;
add[1] = 10;
Console.WriteLine(add[1]);  //10


创建并初始化一个数组(标准的声明方法)


int[] arr = new int[] { 11,22,33}; // 定义数组的另一种方式
Console.WriteLine(arr[0]);
//也可以指定数组长度
int[] a = new int[5] { 000, 1111, 222, 333,555}; // 222
// 长度超出会报错,长度不足也会报错
Console.WriteLine(a[2]);


2:使用for循环遍历数组(与PHP没啥差别)

//定义一个数组
int[] array = { 123, 98, 142, 125, 85 };
int[] a = new int[5] { 000, 111, 222, 333,555}; // 222
int total = 0;
int j = array.Count();
for (int i = 0; i < j; i++)
{
    total += array[i];
}
Console.WriteLine(total); // 输出573
int sum = 0;
int bb = a.GetLength(0);//获得数组长度
for (int s = 0; s < bb; s++)
{
      sum += a[s];
}
Console.WriteLine(sum); // 输出1221


3:获取数组长度

在实际使用数组的时候,我们经常会遇到一个问题,就是“数组索引超出限制”的报错。


这个解决办法不难:找到你数据的源头,就是想往数组中放多少个元素,在实例化数组的时候,声明对应长度的数组。


Count();


int[] array = { 123, 98, 142, 125, 85 };
int j = array.Count();


GetLength(0)


int[] a = new int[5] { 000, 111, 222, 333,555}; // 222
int bb = a.GetLength(0);//获得数组长度


Length


int[] array = { 123, 98, 142, 125, 85 };
int d = array.Length;
Console.WriteLine(d);


4:使用foreach遍历数组

这里的foreach与PHP不一样,他是没有key值得。


int[] n = new int[10]; /* n 是一个带有 10 个整数的数组 */
/* 初始化数组 n 中的元素 */
for (int i = 0; i < 3; i++)
{
     n[i] = i + 100;
     Console.WriteLine("Element[{0}] = {1}", i,n[i]);
}
/* 输出每个数组元素的值 */
foreach (int f in n)
{
     Console.WriteLine(f);
     int i = f - 100;  // 变量i是key值
     Console.WriteLine("Element[{0}] = {1}", i, f);
}


总结:

for循环遍历数组的时候是有KEY值的。但是其需要知道数组的长度


foreach循环遍历数组的时候是没有KEY值的。不需要知道数组长度。


测试源代码:我这里使用的是控制台应用程序


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace gc
{
    class Program
    {
        /* C#主要的运行函数,就是main函数 */
        static void Main(string[] args)
        {
            //定义一个数组
            int[] array = { 123, 98, 142, 125, 85 };
            int d = array.Length;
            //Console.WriteLine(d);
            //Console.WriteLine(array[1]);  //输出数组中的key值为1的成员  98
            int[] add = new int[3];
            add[0] = 9;
            add[1] = 10;
            Console.WriteLine(add[1]);  //10
            int[] arr = new int[3] { 11,22,33}; // 定义数组的另一种方式
            //Console.WriteLine(arr[0]);
            //也可以指定数组长度
            int[] a = new int[5] { 000, 111, 222, 333,555}; // 222
            // 长度超出会报错,长度不足也会报错
            //Console.WriteLine(a[2]);
            int total = 0;
            int j = array.Count();
            for (int i = 0; i < j; i++)
            {
                total += array[i];
            }
            //Console.WriteLine(total); // 输出573
            int sum = 0;
            int bb = a.GetLength(0);//获得数组长度
            for (int s = 0; s < bb; s++)
            {
                sum += a[s];
            }
            //Console.WriteLine(sum); // 输出1221
            int[] n = new int[10]; /* n 是一个带有 10 个整数的数组 */
            /* 初始化数组 n 中的元素 */
            for (int i = 0; i < 10; i++)
            {
                n[i] = i + 100;
                //Console.WriteLine("Element[{0}] = {1}", i,n[i]);
            }
            /* 输出每个数组元素的值 */
            foreach (int f in n)
            {
                //Console.WriteLine(f);
                int i = f - 100;
                //Console.WriteLine("Element[{0}] = {1}", i, f);
            }
            Console.ReadKey();
        }
    }
}


目录
相关文章
|
6月前
|
C#
C#学习相关系列之数组---常用方法使用(二)
C#学习相关系列之数组---常用方法使用(二)
|
6月前
|
存储 C#
C#学习系列相关之数组(一)---数组的定义与使用
C#学习系列相关之数组(一)---数组的定义与使用
|
6月前
|
存储 人工智能 C#
【Unity 3D】C#中数组、集合、栈、队列、哈希表、字典的讲解(附测试代码)
【Unity 3D】C#中数组、集合、栈、队列、哈希表、字典的讲解(附测试代码)
81 0
|
开发框架 .NET C#
c#数组补充
c#数组的几个简单的补充
42 0
|
2月前
|
存储 C# 索引
C# 一分钟浅谈:数组与集合类的基本操作
【9月更文挑战第1天】本文详细介绍了C#中数组和集合类的基本操作,包括创建、访问、遍历及常见问题的解决方法。数组适用于固定长度的数据存储,而集合类如`List<T>`则提供了动态扩展的能力。文章通过示例代码展示了如何处理索引越界、数组长度不可变及集合容量不足等问题,并提供了解决方案。掌握这些基础知识可使程序更加高效和清晰。
77 2
|
5月前
|
存储 开发框架 .NET
C#中的数组探索
C#中的数组探索
|
6月前
|
C#
C# 字节数组与INT16,float,double之间相互转换,字符数组与字符串相互转换,
C# 字节数组与INT16,float,double之间相互转换,字符数组与字符串相互转换,
177 2
C#基础⑥.2——数组(冒泡排序、求最值、数组排序、forr反转)
一次语文测试后,老师让班长统计每一个学生的成绩并计算全班(全班共5人)的平均成绩,然后把所有成绩显示出来。
|
6月前
|
存储 C#
C#基础语法(数组和函数)
C#基础语法(数组和函数)
65 1
|
6月前
|
存储 C# C++
C# 笔记2 - 数组、集合与与文本文件处理
C# 笔记2 - 数组、集合与与文本文件处理
78 0