数组和字符串

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2020/1/301数组和字符串(补充)数组的概念声明和创建数组通过索引访问数组遍历数组元素数组作为函数参数Array类了解字符串及其常用方法1数组的概念只包含单个序列的数组:一维数组多维数组:通过一个或多个值进行索引。[0][1][2][3]……[N-1][0][0][0][N-1][0][1][0][2][0][3]……[1][0][1][N-1][1][1][1][2][1][3]……[2][0][2][N-1][2][1][2][2][2][3]……[3][0][3][N-1][3][1][3][2][3][3]……………………………………[M-1][0][M-1][N-1][M-1][1][M-1][2][M-1][3]……2.1数组的声明声明数组变量:数据类型[]数组名;例:int[]pins;string[]myStrings;char[]charGroup;double[]mathsScore;2.2数组的创建创建数组实例:数组名=new数据类型[长度];例:int[]pins=newint[4];//这时,数组元素初始化为一个默认值:数值型(例如int)元素初始化为0,bool型元素初始化为false,引用型元素初始化为null(空对象)2.3数组的初始化把数组元素初始化为特定值例:int[]pins=newint[4]{9,3,7,2};string[]names=newstring[]{“Frank”,”Jack”};3.多维数组多维数组的声明:声明一个二维整数数组a[3,4],其初值为a[0,0]=10;a[0,1]=20;a[0,2]=30;a[0,3]=40;a[1,0]=5;a[1,1]=15;a[1,2]=25;a[1,3]=35;a[2,0]=12;a[2,1]=24;a[2,2]=36;a[2,3]=48;写法如下:int[,]a=newint[3,4]{{10,20,30,40},{5,15,25,35},{12,24,35,48}};4.访问单个数组元素通过index下标来访问数组元素例:读写pins数组的某一元素pins[2]=6;//写入Console.WriteLine(pins[2]);//读取5.遍历数组成员遍历:访问每一个成员两种方法:用index-下标的变动,使用循环语句;用foreach语句,逐个取数组元素(只能读,不能写)5.遍历数组成员-例例:for语句来遍历数组元素int[]pins={9,3,7,2};for(intidx=0;idx!=pins.Length;++idx){intpin=pins[idx];System.Console.WriteLine(pin);}例:foreach语句来遍历数组元素int[]pins={9,3,7,2};foreach(intpininpins){Console.WriteLine(pin);}一维数组的操作System.Array类C#的数组类型是从抽象基类型System.Array派生。它的重要属性Length返回数组的长度,方法成员如下:Clear:清楚数组元素的值Copy:复制数组*Sort:对数组排序*Reverse:反转数组元素的顺序*IndexOf:从左到右查找数组元素*LastIndexOf:从右到左查找数组元素*Resize:更改数组长度。带*号的方法只能针对一维数组进行操作。案例演示:P396.System.Array类提供方法:创建、操作、搜索和排序数组,例:int[]pics=newint[]{5,4,3,2,1,0};Console.WriteLine(pics.Length);Console.WriteLine(pics.GetUpperBound(0));Console.WriteLine(Array.IndexOf(pics,7));int[]pics2=(int[])(pics.Clone());pics2[0]=10;Console.WriteLine(pics[0]);Console.WriteLine(pics2[0]);Console.WriteLine(pics2[1]);6返回Array的第一维的索引上限5返回String对象内第一次出现子字符串的字符位置-151042020/1/30127字符串string基本概念C#字符串是一个由若干个Unicode字符的组成字符数组。字符串常量使用双引号来标记,字符串变量使用string关键字来声明。两个字符串可以通过加号运算符(+)来连接,C#字符串是不可变的,也就是说字符串一旦创建,其内容就不能更改。C#允许使用关系运算符==、!=来比较两个字符串各对应的字符是否相同。C#的字符串可以看成一个字符数组。因此,C#允许通过索引来提取字符串中的字符。2020/1/3013字符串stringC#的string是System.String的别名。在.NetFramework之中,System.String提供的常用属性和方法有:Length、Copy、IndexOf、LastIndexOf、Insert、Remove、Replace、Split、Substring、Trim、Format等,分别用来获得字符串长度、复制字符串、从左查找字符、从右查找字符、插入字符、删除字符、替换字符、分割字符串、取子字符串、压缩字符串的空白、格式化字符串等。为了增强字符串的操作,.NETFramework.类库还提供了System.Text.StringBuilder类,可以构造可变字符串。StringBuilder类提供的常用属性和方法有:Length、Append、Insert、Remove、Replace、ToString等,分别用来获得字符串长度、追加字符、插入字符、删除字符、替换字符、将StringBuilder转化为string字符串。Index(索引)分析0123456789101112Hello!Kitty!对于字符串s1=“Hello!Kitty!”;可视为从左到右逐一放在一连串的存储空间中,给每个存储空间由0开始编号。分析:s1[n]的值由此,对于s1[n]的值如下:s1[0]=‘H’s1[1]=‘e’s1[7]=‘K’s1[2]=‘l’s1[8]=‘I’s1[3]=‘l’s1[9]=‘t’s1[4]=‘o’s1[10]=‘t’s1[5]=‘!’s1[11]=‘y’s1[6]=‘‘s1[12]=‘!’7.常用字符串处理函数字符串看作:System.Char对象的数组。每一个Char对象在String中都有它自己的位置:index-索引(从零开始)String操作/成员函数IndexOf()//返回String对象内第一次出现子字符串的字符位置Split()//返回一个字符串拆分为若干子字符串时所产生的字符串数组。SubString()//返回位于String对象中的指定位置的子字符串Insert()//在此实例中的指定索引位置插入一个指定的String实例IndexOf例Stringstr=“Hello!Kitty!”;str.IndexOf(‘k');str.IndexOf(‘E’);str.IndexOf(“llo”);//7//-1//2Split()例1,2例1:用一个字符分割strings=“mynameisKitty”;string[]words=s.Split(newchar[]{'‘});//结果:words={“my”,“name”,“is”,“Kitty”}例2:用多个字符分割strings=“Hello,TomandJerry”;string[]words=s.split(newchar[]{‘’,‘,’});//结果:words={“Hello”,“Tom”,“and”,“Jerry”}Split()例3例3:用字符串分割Strings=“TomandJerry”;string[]words=s.Split(newchar[]{'a','n','d'});//结果:words={“Tom”,“Jerry”}SubString()例例1:strings=“中华人民共和国”;//从第三个字符开始获取子字符串stringx=s.Substring(2);例2:strings=“中华人民共和国”;//从第三个字符开始获取长度为4的子字符串stringx=s.Substring(2,4);Insert()例把一个字符串插到另一字符串中strings=abefg;s.Insert.(2,cd));Result?S=“abcdefg”;插入的index位置进行插入的substring堂上练习-1若有stringstr=“Hiyalovelypet”;intidx1=str.IndexOf(‘H’)//idx1=?intidx2=str.IndexOf(‘ya’)//idx2=?intidx3=str.IndexOf(‘B’)//idx3=?strings1=str.Substring(2,4);//s1[1]=?string[]s2=str.split(newchar[]{‘’});//s2[1]=?str.Insert(4,“!”);//str=?intlen1=s1.length;//len1=?intlen2=str.length;//len2=?02-1yallovleyHiya!Lovelypet416实验思考题:设计函数:IntCountWords(stringsentense){//1.输入一个英语句子//2.统计句子中包含多少个单词//3.单词以空格、逗号、句号分隔}Tips:使用split():分割字符串使用Length属性得到个数其它string处理stringfox;fox.ToLower():转化成小写字母lowercasefox.ToUpper():转化成大写字母uppercasefox.Trim():删除前后空格fox.Trim(trimChars):删除其它字符fox.TrimStart():删除前空格fox.TrimEnd():删除后空格fox.PadLeft(10):增加左边空格,使字串达到某长度fox.PadRight(10):增加右边空格,使字串达到某长度fox.PadX(10,‘-’):增加其它字符,使字串达到某长度X指:Left/Rightfox.Split(''):将字串分解成数组

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功