A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zpzhangwenhan 中级黑马   /  2013-6-4 16:25  /  1752 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 zpzhangwenhan 于 2013-6-6 23:13 编辑
  1. //将一个字符串按反方向输出
  2.             string s=Console.ReadLine();            
  3.             for (int i = s.Length-1; i >= 0; i--)
  4.             {
  5.        char ch = s[i];        //定义一个char变量访问字符串中某个字符(只读)【和数组差不多】
  6.        Console.Write(ch);            
  7.             }
复制代码
这样可以将string字符串反方向输出
string是不是隐式的char[]数组?

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

5 个回复

正序浏览
这个想法貌似有点问题,我们应该比较的是 数组 与 字符串,而不是字符与字符串,数组与字符串里面都是有字符的,而且都是线性存储结构,不同在于提取他们的方法
回复 使用道具 举报
有的时候看起来很像其实还是有区别的。其实char是数值类型的,它实际存放的是字符的ASCII码的;还有char是值类型,string是引用类型的。
回复 使用道具 举报
在数据结构中   线性结构有:线性表、栈、队列还有串。
其中数组对应的是线性表,特性是:它是相同特性的元素的一个有限序列,而且每次只能遍历出单个元素;
而字符串对应的是串,它的特性是:首先他是有多个字符组成的有序数列,但是串可以遍历出允许长度的任意长度的元素,比如一个由 20个字符组成的字符串,它的子串可以是一个字符,也可以是5个字符,
这个是有C#语言封装的方法决定的,这就是字符串和数组的区别。

如果你是初学,建议不要再往下研究了,太过底层,先把语法搞熟,如果是高手,就找一本数据结构的书看看,马上就明白了

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
你大概可以这么理解,但从概念和实质上说是不同的。
简单点说,String是一个对象,而对象不等同于字符串或字符数组,之所以会有把字符串赋值给string,是因为string有接受该参数的构造方法。
而字符数组没有构造函数,仅可以赋值。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
可以说算是吧  是个只读char数组
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马