当前位置: 首页 > wzjs >正文

专业建站服务建站网网站建设有什么看法

专业建站服务建站网,网站建设有什么看法,word可以做网站链接吗,南京cms建站系统文章目录 数组数组概念声明数组初始化数组赋值给数组访问数组元素 集合动态数组(ArrayList)使用foreach循环C#数组细节多维数组传递数组给函数参数数组 数组 数组概念 数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,通常认为数组是一…

文章目录

    • 数组
      • 数组概念
      • 声明数组
      • 初始化数组
      • 赋值给数组
      • 访问数组元素
    • 集合
      • 动态数组(ArrayList)
      • 使用foreach循环
      • C#数组细节
        • 多维数组
        • 传递数组给函数
        • 参数数组

数组

数组概念

数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。

所有的数组都是由连续的内存位置组成的。最低的地址对应第一个于难诉,最高的地址对应最后一个元素。

声明数组

语法:

datatype[] arrayName;
  • datatype 用于指定被存储在数组中的元素的类型。

  • [ ] 指定数组的秩(维度)。秩指定数组的大小。

  • arrayName 指定数组的名称。

例如:

double[] arr;

初始化数组

声明一个数组不会在内存中初始化数组。当初始化数组变量时,您可以赋值给数组。

数组是一个引用类型,所以您需要使用 new 关键字来创建数组的实例。

示例:

double[] arr = new double[10];

赋值给数组

您可以通过使用索引号赋值给一个单独的数组元素,比如:

double[] arr = new double[10];
arr[0] = 6.66;

您可以在声明数组的同时给数组赋值,比如:

double[] arr = {2.03,6.99,66.6};

您也可以创建并初始化一个数组,比如:

int[] buf = new int[2]{20,30};

在上述情况下,你也可以省略数组的大小,比如:

int[] buf = new int[]{5,54,95,421};

当您创建一个数组时,C# 编译器会根据数组类型隐式初始化每个数组元素为一个默认值。例如,int 数组的所有元素都会被初始化为 0。

访问数组元素

元素是通过带索引的数组名称来访问的。

例如:

int a = arr[1];
int b = arr[2];
//更改数组的值
arr[3] = 5;
//循环遍历数组
for(int i =0 ;i < arr.length;i++)
{//打印数组的值到控制台Console.WriteLine(arr[i]);
}

示例:

static void Main(string[] args)
{int[] n = new int[10];int i,j;//初始化数组n中的元素for(i = 0;i < 10;i++){n[i] = i + 100;}//输出每个数组元素的值for(j = 0;j < 10;j++){Console.WriteLine($"{j},{n{j}}");Console.ReadKey();}
}

集合

集合(Collection)类是专门用于数据存储和检索的类。这些类提供了对栈(stack)、队列(queue)、列表(list)和哈希表(hash table)的支持。大多数集合类实现了相同的接口。

集合(Collection)类服务于不同的目的,如为元素动态分配内存,基于索引访问列表项等等。这些类创建 Object 类的对象的集合。在 C# 中,Object 类是所有数据类型的基类。

各种集合类和它们的用法

描述和用法
动态数组(ArrayList)它代表了可被单独索引的对象的有序集合。它基本上可以替代一个数组。但是,与数组不同的是,您可以使用索引在指定的位置添加和移除项目,动态数组会自动重新调整它的大小。它也允许在列表中进行动态内存分配、增加、搜索、排序各项。
哈希表(Hashtable)它使用来访问集合中的元素。当您使用键访问元素时,则使用哈希表,而且您可以识别一个有用的键值。哈希表中的每一项都有一个键值对。键用于访问集合中的项目。
排序列表(SortedList)它可以使用索引来访问列表中的项。排序列表是数组和哈希表的组合。它包含一个可使用键或索引访问各项的列表。如果您使用索引访问各项,则它是一个动态数组(ArrayList),如果您使用键访问各项,则它是一个哈希表(Hashtable)。集合中的各项总是按键值排序。
堆栈(Stack)它代表了一个后进先出的对象集合。当您需要对各项进行后进先出的访问时,则使用堆栈。当您在列表中添加一项,称为推入元素,当您从列表中移除一项时,称为弹出元素。
队列(Queue)它代表了一个先进先出的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队
点阵列(BitArray)它代表了一个使用值 1 和 0 来表示的二进制数组。当您需要存储位,但是事先不知道位数时,则使用点阵列。您可以使用整型索引从点阵列集合中访问各项,索引从零开始。

动态数组(ArrayList)

动态数组(ArrayList)代表了可被单独索引的对象的有序集合。它基本上可以替代一个数组。但是,与数组不同的是,您可以使用索引在指定的位置添加和移除项目,动态数组会自动重新调整它的大小。它也允许在列表中进行动态内存分配、增加、搜索、排序各项。

ArrayList 类的方法和属性

下表列出了 ArrayList 类的一些常用的 属性

属性描述
Capacity获取或设置 ArrayList 可以包含的元素个数。
Count获取 ArrayList 中实际包含的元素个数。
IsFixedSize获取一个值,表示 ArrayList 是否具有固定大小。
IsReadOnly获取一个值,表示 ArrayList 是否只读。
IsSynchronized获取一个值,表示访问 ArrayList 是否同步(线程安全)。
Item[Int32]获取或设置指定索引处的元素。
SyncRoot获取一个对象用于同步访问 ArrayList。

下表列出了 ArrayList 类的一些常用的 方法

序号方法&描述
1public virtual int Add( object value ); 在 ArrayList 的末尾添加一个对象。
2public virtual void AddRange( ICollection c ); 在 ArrayList 的末尾添加 ICollection 的元素。
3public virtual void Clear(); 从 ArrayList 中移除所有的元素。
4public virtual bool Contains( object item ); 判断某个元素是否在 ArrayList 中。
5public virtual ArrayList GetRange( int index, int count ); 返回一个 ArrayList,表示源 ArrayList 中元素的子集。
6public virtual int IndexOf(object); 返回某个值在 ArrayList 中第一次出现的索引,索引从零开始。
7public virtual void Insert( int index, object value ); 在 ArrayList 的指定索引处,插入一个元素。
8public virtual void Remove( object obj ); 从 ArrayList 中移除第一次出现的指定对象。

示例:

static void Main(string[] args)
{ArrayList al = new ArrayList();Console.WriteLine("添加元素");al.Add(45);al.Add(10);al.Add(2);al.Add(4);al.Add(90);Console.WriteLine("数组容量{0}",al.Capacity);Console.WriteLine("实际个数{0}",al.Count);foreach(int i in al){Console.WriteLine(i);}al.Sort();
}

使用foreach循环

在前面的实例中,我们使用一个 for 循环来访问每个数组元素。您也可以使用一个 foreach 语句来遍历数组。

示例:

static void Main(string[] args)
{ArrayList arr = new ArrayList();arr.Add(2);arr.Add(40);arr.Add(20);arr.Add(25);arr.Add(58);arr.Add(23);Console.WriteLine("动态数组的容量为:{0}",arr.Capacity);Console.WriteLine("动态数组的实际元素个数为:{0}",arr.Count);//遍历数组foreach (int i in arr){Console.WriteLine(i);}//排序arr.Sort();foreach (int i in arr){Console.WriteLine(i);}}

在这里插入图片描述

C#数组细节

在 C# 中,数组是非常重要的,且需要了解更多的细节。下面列出了 C# 程序员必须清楚的一些与数组相关的重要概念:

概念描述
多维数组C# 支持多维数组。多维数组最简单的形式是二维数组。
传递数组给函数您可以通过指定不带索引的数组名称来给函数传递一个指向数组的指针。
参数数组这通常用于传递未知数量的参数给函数。
多维数组

c#支持多维数组,多维数组又称为矩形数组

示例:

string[,] names;//二维数组
int [,,] m;//三维数组

二维数组

初始化

int[,] a = new int[3,4]
{{0,1,2,3},{4,5,6,7},{8,9,10,11}
};

访问二维数组元素

二维数组中的元素是通过使用下表(即数组的行索引和列索引)来访问的。

int val = a[2,3];
static void Main(string[] args)
{int[,] a = new int[5,2]{{0,0},{1,2},{2,4},{3,6},{4,8}};int i,j;//输出数组中每个元素的值for(i = 0;i < 5;i++){for(j = 0;j < 2;j++){Console.WriteLine(a[i,j]);}}Console.ReadKey();
}	
传递数组给函数

在 C# 中,您可以传递数组作为函数的参数。您可以通过指定不带索引的数组名称来给函数传递一个指向数组的指针。

public static double getAverage(int[] arr,int size)
{int i;double avg;int sum = 0;for(i = 0;i < size;i++){sum += arr[i];}avg = (double)sum/size;return avg;
}static void Main(string[] args)
{MyArray app = new MyArray();int[] balance = new int[]{1000,2,3,10,50};double avg;avg = getAverage(balance,5);Console.WriteLine(avg);Console.ReadKey();}
参数数组

有时,当声明一个方法时,您不能确定要传递给函数作为参数的参数数目。C# 参数数组解决了这个问题,参数数组通常用于传递未知数量的参数给函数。

params关键字

在使用数组作为形参时,C# 提供了 params 关键字,使调用数组为形参的方法时,既可以传递数组实参,也可以传递一组数组元素。params 的使用格式为:

public 返回类型 方法名称( params 类型名称[] 数组名称 )
public static int AddElements(params int[] arr)
{int sum = 0;foreach(int i in arr){sum += i;}return sum;}static void Main(string[] args)
{ParamArray app = new ParamArrray();int sum = app.AddElements(512,720,250,567,889);Console.WriteLine(sum);Console.ReadKey();
}

文章转载自:

http://4WanDwLZ.bswxt.cn
http://Mi1eHoHh.bswxt.cn
http://vQcZFVwE.bswxt.cn
http://pxHD6nhQ.bswxt.cn
http://fbpkC3f0.bswxt.cn
http://cSbgLxNH.bswxt.cn
http://tr3s1Lsv.bswxt.cn
http://ejWcmiur.bswxt.cn
http://c5jTzpYR.bswxt.cn
http://6os5l2HL.bswxt.cn
http://5crCp6qz.bswxt.cn
http://YX3FkZNj.bswxt.cn
http://nN9DXHzA.bswxt.cn
http://9W5596ag.bswxt.cn
http://GKSGzHvQ.bswxt.cn
http://gNoxKCsr.bswxt.cn
http://NpZ02vS1.bswxt.cn
http://imuXX15E.bswxt.cn
http://cNd8Ssuv.bswxt.cn
http://kQrQxDhW.bswxt.cn
http://QXolO3Pz.bswxt.cn
http://tNvCyHMZ.bswxt.cn
http://OHPS7R0r.bswxt.cn
http://5hhOLfRJ.bswxt.cn
http://peVgJH3c.bswxt.cn
http://Z3Bw6Ewt.bswxt.cn
http://XAJFlLLy.bswxt.cn
http://aMrvPrcl.bswxt.cn
http://CQisOtIN.bswxt.cn
http://pTRJAQep.bswxt.cn
http://www.dtcms.com/wzjs/652167.html

相关文章:

  • 网站建设网络推广加盟网站建设功能模块
  • 怎么授权小说做游戏网站做服装要看国外哪些网站好
  • 浙江省建设工程质量安全协会网站免费开个人网店
  • 保定哪家做网站好如何把代码wordpress
  • 小型企业网站如何建设wordpress微信分享图片
  • 建行网站济南银川市网站建设
  • 高品质外贸网站建设wordpress登录注册插件
  • 做网站系统的答辩ppt范文福建省网络公司排名
  • 姜堰网站定制扬州市建设厅网站
  • 南通装修网站大全上海网站建设设计
  • 做有支付系统的网站一般需要多少钱wordpress 付费主题 时间
  • 爱南宁app下载官网中小学萍乡网站seo
  • 建设企业网站企业网上银行对公wordpress5.0默认主题
  • 江苏山海连云建设有限公司网站即时通讯app开发
  • 找个公司做网站需要注意什么条件wordpress企业主题 视频
  • 3 阐述网站建设的步骤过程网络编辑的工作内容
  • 手机网站幻灯片代码沈阳seo代理计费
  • 乐清柳市广电网站学校网站资源库建设和资源上传
  • 网站会员体系方案网络推广员的工作内容和步骤
  • 网站要什么备案全国医院的网站建设
  • 百度一下你就知道下载安装西安seo建站
  • 贵阳手机网站开发电子商务网站建设与管理答案
  • 有意思的网站带搜索的下拉框网站
  • 网站一年费用多少钱管理部门网站建设说明书
  • 免费网站优化appstar官网
  • 高职网站建设专业书永清住房和城乡建设部网站
  • 龙书浩个人网站xml是用来做网站的嘛
  • 网约车后台平台网站建设建设牌摩托车
  • 厦门怎么没有 网站备案wordpress更新配置
  • 学习做网站外贸平台