C#序输出问题

来源:百度知道 编辑:UC知道 时间:2024/09/23 01:39:15
<%@Page Language="C#"%>
<%
string [] arr=new String("Hello Word");

for(int i=arr.Length;i<=0;i--)
Response.Write(arr[i]);
%>
这是我在ASP。NET下做的倒序输出Hello Word。 可是编译不过去啊
C#中的字符串数组如何声明?

这么给你说吧
string [] arr=new String("Hello Word");
你这个是对的,但是你想倒序输出的时候就有问题了
你这个没必要用字符串数组,字符串也有索引的
string arr = "Hello Word";
for(int i = arr.Length-1;i>=0;i--)
{
Console.WriteLine(arr[i]);
}

这个是在VS2008里的语法,你用的Response应该是2005里的,替换Console就可以了。

字符串数组的申明是
string [] arr = {"h","e","l","l",o," ","w","o","r","l","d"}
这样才能倒序输出
你原来的那个整个"hello world"作为一个数组的元素了,用索引直接就输出了整个"hello world"
既然是字符数组,那么每对""中的就是数组中的一个元素,
而且你的for循环里的第一个条件int = arr.Length,Length表示的是字符数组长度,如果数组中有3个元素,Length就等于3,但是在C#里数组的索引是从 0 开始的,最后一个元素的索引因该是arr.Length-1,所以在编译的时候不会提示你for循环里有错,但是在运行的时候会提示你“索引越界”

string str = "Hello Word";
char[] arr = str.ToCharArray();
for (int i = arr.Length - 1; i <= 0; i--)
Response.Write(arr[i]);
这样试试看