C#数组 修改
今天咱们了解下C#中的数组
后面会讲到集合、泛型集合
咱们分开来讲,免得出现混乱
讲完这三个,咱们再汇总一下,看看有什共同点和不同点
定义一个数组:
int[] i = new int[]; int[] j = new int[] { , , , , , , , , , };
两种定义方式
数组定义:一定要规定长度、一定要规定类型
当然,上面是int类型的数组,你也可以定义string类型的数组,但是数组就一定要有长度和类型的限制
那咱们一起来尝试下C#中的冒泡排序,咱们分别用int型和string型来做
int类型的冒泡排序
代码贴入
int[] i = new int[] { , , , , , , , , , }; for (int a = ; a < i.Length; a++)
{
for (int b = a + ; b < i.Length; b++)
{
if (i[a] < i[b])
{
int j = i[a];
i[a] = i[b];
i[b] = j;
}
}
Console.WriteLine(i[a]);
}
Console.ReadLine();
string类型
代码贴入
string[] ss = new string[] { "aaa", "a", "aa", "aaaaa", "aaaa" };
//长度从大到小打印出来,从小到大打印出来
for (int i = ; i < ss.Length; i++)
{
for (int j = i + ; j < ss.Length; j++)//长度比较大小
{
if (ss[i].Length < ss[j].Length)//如果第一段长度小于第二段长度
{
string b = ss[i]; // 那么位置调换过来
ss[i] = ss[j];
ss[j] = b;
}
}
Console.WriteLine(ss[i]);
}
Console.ReadLine();
下面分别是其效果图
int类型是依照其大小判断
string类型是依照其长度大小来判断
2017-11-04 11:49:38
数组再充实
创建数组
byte[] a = new byte[]; //创建一个名为a,长度为5的byte型一维数组。 int[] a = new int[] {, , , , }; //也可以采用初始化方式同时给赋值。 double[,] d = new double[, ]; //建立二维数组 double[,] d = new double[,] { {,}, {,}, {,}, {,} }; //声明一个4行2列的二维数组并赋值
多维数组
int[, ,] s = new int[, , ];
for (int i = ; i < ; i++) //通过三个for循环对该三维数组进行赋值
{
for (int j = ; j < ; j++)
{
for (int m = ; m < ; m++)
{
s[i, j, m] = i + j + m;
}
}
}
foreach (int k in s) //用foreach循环输出数组中的所有元素导控制台显示
{
Console.Write(k.ToString() + " ");
}
Console.ReadKey();
动态数组
3、动态数组
ArrayList类包含在System.Collections 命名空间中。
Capacity:获取或设置 ArrayList 所包含的元素数。
Count:获取 ArrayList 所包含的实际元素数。
Add():将对象添加到 ArrayList 的结尾处。
Clear():从 ArrayList 中移除所有元素。
Contains():确定某元素是否在 ArrayList 中。
Insert():将对象插入到 ArrayList 的指定索引处。
RemoveAt():移除 ArrayList 的指定索引处的元素。
Reverse():将指定范围内元素的顺序反转。
Sort():用指定的比较器对 ArrayList 某个范围内的元素进行排序。
ArrayList a1 = new ArrayList();
//向ArrayList 结尾处添加4种不同类型的对象
a1.Add(0.05f);
a1.Add("sss");
a1.Add('s');
a1.Add();
Console.WriteLine("当前ArrayList 里的全部元素如下:");
for (int i = ; i < ; i++)
{
Console.Write(a1[i] + " ");
}
Console.WriteLine("\n 当前 ArrayList 里的元素个数共有:");
Console.WriteLine(a1.Count);
a1.Insert(, "aaa"); //在ArrayList 索引值为1处添加字符串aaa
for (int i = ; i < ; i++)
{
Console.Write(a1[i] + " ");
}
Console.WriteLine("\n 倒序后当前ArrayList 里的全部元素如下:");
a1.Reverse();
for (int i = ; i < ; i++)
{
Console.Write(a1[i] + " ");
}
Console.WriteLine("\n 删除后当前ArrayList 里的全部元素如下:");
a1.RemoveAt();
for (int i = ; i < ; i++)
{
Console.Write(a1[i] + " ");
}
Console.ReadKey();
2017-11-04 11:52:19
2017-11-06 11:39:26
数组去重
int[] x = new int[] { , , , , , , , , , , , , , , , , , , , , , }; int[] i = x.Distinct().ToArray(); //for (int k = i.Length - 1; k >= 0; k--)
//{
// Console.WriteLine(i[k]);
//}
foreach (int j in i)
{
Console.WriteLine(j);
} Console.ReadLine();
注释掉的是另外一种方式,不过个人喜欢遍历的方式输出,理解起来简单
2017-11-06 11:41:26
C#数组 修改的更多相关文章
- MongoDB数组修改器更新数据(转)
MongoDB数组修改器更新数据 这里,我们将了解一下数组修改器.数组,是我们经常看到和使用到的且非常有用的数据结构:它不仅可以通过索进行引用,还可以作为集合来使用.数组修改器,顾名思义,它是用 ...
- 076-PHP数组修改元素值
<?php $arr=array(98,'hello',67,'A',85,NULL); //定义一个数组 echo '输出数组修改元素之前的详细信息:<br />'; print_ ...
- 解决uni-app props 传递数组修改后不能使用问题
1.子组件页面结构 //NoticesMarquee 组件 <view v-for="(item, index) in tempList" :key="index& ...
- mongo数组修改器—$push、$ne、$addtoset、$pop、$pull
这几个方法也很有意思 $push 像已有的数组末尾加入一个元素,要是元素不存在,就会创建一个新的元素,如果元素存在了,就会再添加一个一模一样的元素,会造成元素的重复,所以在使用的时候,要确保该元素不存 ...
- php二维数组修改键名
最近遇到一个问题,是关于json数据提交的时候,总是报出[object object]的错误,查了晚上需要资料,大部分的说法是json数据格式不规范导致的错误.一般建议说将dataType类型注释掉. ...
- BZOJ 3110([Zjoi2013]K大数查询-区间第k大[段修改,在线]-树状数组套函数式线段树)
3110: [Zjoi2013]K大数查询 Time Limit: 20 Sec Memory Limit: 512 MB Submit: 418 Solved: 235 [ Submit][ ...
- MongoDB .Net Driver(C#驱动) - 内嵌数组/嵌入文档的操作(增加、删除、修改、查询(Linq 分页))
目录 一.前言 1. 运行环境 二.前期准备工作 1. 创建 MongoDBContext MongoDb操作上下文类 2.创建测试类 3.创建测试代码 三.内嵌数组增加元素操作 1.Update.S ...
- vue数组对象修改触发视图更新
直接修改数组元素是无法触发视图更新的,如 this.array[0] = { name: 'meng', age: 22 } 修改array的length也无法触发视图更新,如 this.array. ...
- 树状数组求区间和模板 区间可修改 参考题目:牛客小白月赛 I 区间
从前有个东西叫树状数组,它可以轻易实现一些简单的序列操作,比如单点修改,区间求和;区间修改,单点求值等. 但是我们经常需要更高级的操作,比如区间修改区间查询.这时候树状数组就不起作用了,只能选择写一个 ...
随机推荐
- QuickBI助你成为分析师-数据建模(一)
摘要: 数据集编辑功能界面介绍以及常见问题总结. 在数据集编辑界面可以进行数据建模来更好的展示数据,创建数据集默认将数值类型字段作为度量,日期.字符串等类型作为维度,度量可以根据维度分组展示.下面来介 ...
- 资料整理,SQL Server ,面试前复习笔记
T-SQL 要掌握的知识点分类 SQL 面向数据库执行查询 SQL 从数据库取回数据 SQL 在数据库中插入新的记录 SQL 更新数据库中的数据 SQL 从数据库删除记录 SQL 创建新数据库 SQL ...
- php算法基础----时间复杂度和空间复杂度
算法复杂度分为时间复杂度和空间复杂度. 其作用: 时间复杂度是指执行算法所需要的计算工作量: 而空间复杂度是指执行这个算法所需要的内存空间. (算法的复杂性体现在运行该算法时的计算机所需资源的多少上, ...
- PHP eval() 函数
定义和用法 eval() 函数把字符串按照 PHP 代码来计算. 该字符串必须是合法的 PHP 代码,且必须以分号结尾. 如果没有在代码字符串中调用 return 语句,则返回 NULL.如果代码中存 ...
- 【洛谷】【动态规划/背包】P1833 樱花
[题目描述:] 爱与愁大神后院里种了n棵樱花树,每棵都有美学值Ci.爱与愁大神在每天上学前都会来赏花.爱与愁大神可是生物学霸,他懂得如何欣赏樱花:一种樱花树看一遍过,一种樱花树最多看Ai遍,一种樱花树 ...
- luogu P3391 【模板】文艺平衡树(Splay)
嘟嘟嘟 突然觉得splay挺有意思的-- 这道题只有一个任务:区间翻转. 首先应该知道的是,splay和线段树一样,都可以打标记,然后走到每一个节点之前先下传. 那怎么打标记呢?还应该有"区 ...
- CANopen个人之所见,所想
一直想写一篇关于CANopen的文章,鉴于个人知识能力没有动笔,今天做了一番思想斗争,斗胆发表一下自己对CANOPEN的肤浅认识. 计划从销售人员,技术人员角度都分析一下CANopen的优势,文章可能 ...
- Windows下修改iTunes备份路径
0.准备工作: 关闭itunes 在任务管理器中杀掉iTunes开头的服务 1,找到iTunes默认备份路径:C:\Users\xxx\AppData\Roaming\Apple Computer\M ...
- ORM增删改查(django)
单表操作: 一.添加 (1)方式一 from mysite.models import * def add(request): book= Book(name="python" ...
- Eclipse开发工具常用快捷键的使用技巧
Eclipse作为软件开发的常用工具,被很多的人所欢迎,尤其是丰富的快捷键,可以极大的提高编码的效率,下面将常用的快捷键做了整理,便于大家学习和使用. Eclipse常用快捷键 1代码提示 Alt ...