经常用string[], int[]这些数组, 今天偶然发现还有一个System.Array类, 它的声明如下:
代码如下 | 复制代码 |
public abstract class Array : ICloneable, IList, ICollection, IEnumerable, IStructuralComparable, IStructuralEquatable |
看来它是一个抽象类.
查一下msdn, 发现它的用途如下:
"提供创建、操作、搜索和排序数组的方法,因而在公共语言运行时中用作所有数组的基类。"
"Array 类是支持数组的语言实现的基类。但是,只有系统和编译器能够从 Array 类显式派生。用户应当使用由语言提供的数组构造。"
自己写代码试了一下, 确实如上所述, 不能继承Array这个抽象类,
Array的使用方法举例:
代码如下 | 复制代码 |
Array abc = Array.CreateInstance(typeof(string), 3); |
看这代码,觉得和string[], int[]的本质是一样的,就是繁琐些,难怪msdn说它是所有数组的基类,但是用refactor翻译一段string[],int[]的代码,发现编译后并不翻译成Array,不知道内部它们之间是怎么转换的,先不管这也罢,反正最重要的思考一下Array的作用和用途在哪里?毕竟直接定义的数组比Array.CreateInstance()要简单得多。
试一下就可以明白,直接定义的数组不支持排序等操作,如果定义了string[], int[],想要排序,就可以用Array抽象类中的Sort方法了,我想,这是它很有用的一点了。
代码如下 | 复制代码 |
string[] def = new string[] { "lzd7", "lzd5", "lzd6" }; for (int i = 0; i < def.Length; i++) { Console.WriteLine(def[i]); } Array.Sort(def); for (int i = 0; i < def.Length; i++) { Console.WriteLine(def[i]); } |
暗影猎手失落的世界 最新版本v30.118.6.0
下载格里姆瓦勒完全版 安卓版v1.2.0
下载忍者武士暗影格斗无限金币版 安卓版v1.82.1
下载忍者必须死34399账号登录版 最新版v1.0.138v2.0.72
下载创造与魔法免登录版 手机版v1.0.0760
创造与魔法是一款高度自由的沙盒冒险手游,该游戏采用了3D最新
创造与魔法gm版 安卓版v1.0.0760
创造与魔法是一款有英雄互娱运营的一款经营沙盒建造手游,该游戏
创造与魔法变态无敌版 v1.0.0760
创造与魔法是一款3DQ版的沙盒模拟建造手游,在这里玩家需要适
腾讯普通话小镇游戏 安卓版v2.2.5
普通话小镇是由腾讯游戏追梦计划推出发行的模拟经营类型普通学习
海岛村 最新版v1.0
海岛村是一款非常好玩的模拟经营类手游,玩家在游戏中将会有一个