C#数组 参考地址C#之数组

什么是数组?
数组是一种数据结构,包含同一个类型的多个元素。
数组的声明:
int[] myIntArray; 
注:声明数组时,方括号 [] 必须跟在类型后面,而不是变量名后面。在 C# 中,将方括号放在变量名后是不合法的语法
数组的初始化:

我们知道数组是引用类型,所以需要给他分配堆上的内存。

myIntArray = new int[];
myIntArray = new int[] { , , };
int[] myIntArray = { , , }; //当使用这种方法对数组进行初始化时,只能在声明变量数组时使用,不能在声明数组之后使用。

数组的访问:

数组在声明和初始化后,可以使用索引器进行访问,索引器总是以0开头,表示第一个元素。arr[0]

数组的类型:
1.一维数组:
一般的数组(也称一维数组)用一个整数来索引。

2.多维数组:
多维数组用两个或多个整数来索引。

对于二维数组可以以"行列"来理解:第一个索引是行,第二个索引是列。

//int[,] myIntArray2 = new int[4,3];同下
int[,] myIntArray2;
myIntArray2 = new int[,] { { , , }, { , , }, { , , }, { , , } };
 
int[, ,] myIntArray3;
myIntArray3 = new int[,,] { { {,}, {,}, {,} },
{ {,}, {,}, {,} },
{ {,}, {,}, {,} },
{ {,}, {,}, {,} }
};

3.锯齿数组:
一般的数组(也称一维数组)用一个整数来索引,多维数组用两个或多个整数来索引。

 //声明一个锯齿数组  三行
int[][] myIntArray4;
myIntArray4 = new int[][]; myIntArray4[] = new int[] { ,,};
myIntArray4[] = new int[] { , };
myIntArray4[] = new int[] { ,,,};

js数组 

js数组定义使用中括号[]

1. 定义一维数组:

var s1=new Array();

s1=[1,2,3,4]或者s1[0]=1,s1[1]=2,s1[3]=3,s1[4]=4;

alert(s1[0]);
//结果为1; var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值 //要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。

2,定义二维素组:

var s1=new Array();

var s1=[[3,1],[2,3,4],3,[4,5,6,7,8]];

alert(s1[1][0]);
//结果为2;

数组的应用(For...In 声明)类似C#的foreach

<script type="text/javascript">
var x
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW" for (x in mycars)
{
document.write(mycars[x] + "<br />")
}
</script>

数组的应用(传统For)

for (i=0;i<mycars.length;i++)
{
document.write(mycars[i] + "<br />")
}

数组的应用(传统join())

var arr = new Array(3);
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas" //George,John,Thomas
document.write(arr.join()); document.write("<br />"); //George.John.Thomas
document.write(arr.join("."));

数组的应用(传统sort())

function sortNumber(a, b)
{
return a - b
} //从数值上对数组进行排序
arr.sort(sortNumber);
//从字面上对数组进行排序
arr.sort();

数组的应用(传统concat())

//合并两个数组
arr.concat(arr2);

JS中数组的操作

json

Json:是在javascript用来存数据的一种方法。

Json形式: var Json={a:1 , b:2 , c:3};

JSON详解

C#数组、js数组、json的更多相关文章

  1. json、js数组真心不是想得那么简单

    之前因为做前台的东西比較少,对于json和js数组的认识仅局限于一种固定格式.这样的固定的思维在开发前台时,特别是近期使用highcharts插件时.让我感到特别不明确.通过查询最终心头的疙瘩解开了. ...

  2. 2017年9月22日 关于JS数组

    JS数组 JS数组的定义方法 var arr = []; var arr = new Array() JS数组属性 长度 arr.length 遍历数组 索引值:从0开始数 第一种方法 for(var ...

  3. arrayToJson将数组转化为json格式的js代码 ///////////////////////zzzzzzzzzzzzzzzz

    //去除空格 function trim(str) {   return str.replace(/\s|\xA0/g,""); } /** *js数组转json * */ fun ...

  4. JS数组转成json字符串的注意事项

    在js中常常会将一个数组转成json字符串发送给后端. 这时候在定义数组数据结构的时候需要格外注意,意味json中是有集合和对象的区别的. 集合的定义是[];对象的的定义是{}. 这时候,在创建数组时 ...

  5. JS解析json数据并将json字符串转化为数组的实现方法

    json数据在ajax实现异步交互时起到了很重要的作用,他可以返回请求的数据,然后利用客户端的js进行解析,这一点体现出js的强大,本文介绍JS解析json数据并将json字符串转化为数组的实现方法, ...

  6. 理清JS数组、json、js对象的区别与联系

    最近在敲代码时,遇上了一个关于JS数组的问题,由此引发了关于对象和json的联想,曾经觉得很畅顺的知识点突然模糊了.于是,为了理清这些东西,有了如下这篇文章.觉得没问题的猿们可以当复习,而那些带着疑问 ...

  7. js 数组、对象转json 以及json转 数组、对象

    1.JS对象转JSON 方式:JSON.stringify(obj) var json = {"name":"iphone","price" ...

  8. js 数组、对象转json 以及 json转 数组、对象

    let jsonObj = $.parseJSON(jsonStr); //json字符串转化成json对象(jq方法) var jsonObj = JSON.parse(jsonStr); //js ...

  9. js数组,字符串,json互相转换函数有哪些

    js数组,字符串,json互相转换函数有哪些 一.总结 一句话总结: JSON.stringify(arr) JSON.parse(jsonString) str.split('') array.jo ...

随机推荐

  1. BZOJ5322: [JXOI2018]排序问题

    传送门 不难看出期望就是 \(\frac{(n+m)!}{\prod_{v=1}^{max}(cnt_v!)}\),\(cnt_v\) 表示 \(v\) 这个数出现的次数. 贪心就是直接把 \(m\) ...

  2. Git免输入密码提交

    1.首先你需要下载 http://files.cnblogs.com/files/zhanqun/putty.7z 文件夹内包含下面这些文件:

  3. Atitit.web的自动化操作与信息抓取 attilax总结

    Atitit.web的自动化操作与信息抓取 attilax总结 1. Web操作自动化工具,可以简单的划分为2大派系: 1.录制回放 2.手工编写0 U' z; D! s2 d/ Q! ^1 2. 常 ...

  4. 安装google,多试试

    对于谷歌Chrome32位版本,使用如下链接: wget https://dl.google.com/linux/direct/google-chrome-stable_current_i386.de ...

  5. LeetCode题解之Leaf-Similar Trees

    1.题目描述 2.问题分析 将叶子节点的值放入vector,然后比较. 3.代码 bool leafSimilar(TreeNode* root1, TreeNode* root2) { vector ...

  6. LeetCode 题解之Rotate List

    1.题目描述 2.题目分析 首先数出链表中的元素个数count,然后对k = k % count 求余数.接着将链表形成一个环,从最后一个元素开始,运动 count - k  步,此时节点的下一个节点 ...

  7. Qt与PyQT中设置ToolBar在AllowedArea的显示

    因为个人对传统的软件GUI界面不是太喜欢,最近又在学习Qt和PyQt5,所以就有了设置ToolBar在窗口的不同地方的想法,经过浪里淘沙,最终在Qt官网里找到了,原来再添加toolBar的时候是由设置 ...

  8. 如何配置Linux的服务设置为自动启动或崩溃重新启动后

    介绍 在本教程中,自动启动 Linux 服务,我们将退后一步,更详细地解释 init 进程. 你应该很好地了解它们如何控制守护进程的启动行为. 在第一部分本系列教程我们分享使用 MySQL 的如何崩溃 ...

  9. python基础学习20----线程

    什么是线程 线程,有时被称为轻量进程(Lightweight Process,LWP),是程序执行流的最小单元.一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成.另外,线程是进程中 ...

  10. python基础学习1

    一.python第一个程序 print("hello world") 二.变量的命名规则 1. 字母数字下划线组成 2. 不能以数字开头,不能含有特殊字符和空格 3. 不能以保留字 ...