我刚刚开始接触C#,在主函数中调用类Test的方法changeArr,它的参数是一个字符串,现在需要把它转化成字符串数组,该怎么写呢?哎,入门比较难呀~~~~~,我看的书上也没有例子,郁闷中……我的Test类是这样写的,请大家注意加注释的部分,问题出在这里。
public class Test{
public void changeArr(string str)
{
string arr[]=new string[]str;//在这里我想用传递过来的字符串初始化数组arr,但是不知道该怎么写。请大家帮助我!我的写法是错误的
string s;
s=arr[arr.Length-1];
Console.Write(s);
for(int i=0;i<arr.Length-1;i++)
arr[i]=arr[i]+3;
for(int i=0;i<arr.Length-1;i++)
Console.Write(arr[i]);
}
}
public class Test{
public void changeArr(string str)
{
string arr[]=new string[]str;//在这里我想用传递过来的字符串初始化数组arr,但是不知道该怎么写。请大家帮助我!我的写法是错误的
string s;
s=arr[arr.Length-1];
Console.Write(s);
for(int i=0;i<arr.Length-1;i++)
arr[i]=arr[i]+3;
for(int i=0;i<arr.Length-1;i++)
Console.Write(arr[i]);
}
}
解决方案 »
- C# wp7 开发中与Sqlite数据库连接代码要怎么写?
- C#下如何显示3D图像?
- 关于获取某进程CPU使用率
- C# 摄像头操作问题
- 怎样通过线程名字 来结束线程
- 当数据量大的时候发现用现在的存储过程和函数好慢呀!有办法解决吗?请高手指点!
- 请教大家一个问题?
- datagridview添加修改问题
- DOKAN文件系统的几个问题,有关mirror的
- 总算装完了 Visual Studio.net 7.0 Beta-2 !!!!累死我了
- 请教高手 用一条sql语句怎样update两个不同表的同一字段的值?
- 安装installshield.11.5提示说要装VSIP Interop Assembly Redist
你想把string转换为string的数组?
你的转换思路是什么?说出来,就知道怎么做了。
public void changeArr(string str)
{
char arr[]=str.ToCharArray();// 将 string 改成 char 类型的数组
char s;
s=arr[arr.Length-1]; // 可以用 s=str[str.Length-1] 代替。
Console.Write(s.ToString());
for(int i=0;i<arr.Length-1;i++) // 同样可以用 for(int i=0;i<str.Length-1;i++)
arr[i]=(char)((int)arr[i]+3); // str[i] = (char)((int)str[i]+3);
for(int i=0;i<arr.Length-1;i++) // 同样可以用 for(int i=0;i<str.Length-1;i++)
Console.Write(arr[i].ToString());// Console.Write(str[i].ToString();
}
}
尽管可以使用 str[i] 来访问 string 中每个字符,但是由于 string 是引用类型,这样操作和导致传入的参数 str 也会被改变。
string[] arr=new string[]{str};
char c = myString[2];
那么问题就解决了:
public string[] ChangeToArr(string str)
{
string[] result = new string[str.Length];
for(int i=0; i < str.Length; i++)
result[i] = str[i].ToString();
return result;
}
public void changeArr(string str)
{
string arr[]=new string[str.length];
for(int i=0;i<str.Length;i++)
{
arr[i]=str[i];
}
//那么这就转换过来了
}
}
原题如下:假设有一段程序对字符串进行加密加密后的字符串的第一个字符是原字符串的最后一个字符其余的每个字符是对应的原字符串中的前一个字符的值加上3比如welcome末尾的字符为ewelcom依次加上3后成为zhofrp故加密后的结果为zhofrp程序由用户任意输入一个字符串加密后输出.
================================================
你的比如错了吧? 按照题意,welcome加密后的字符串应该是: ezhofrp
这个加密的算法如下: public string Encrypt(string source)
{
StringBuilder sb = new StringBuilder(source.Length);
sb.Append(source[source.Length - 1]);
for (int i = 1; i < source.Length; i++)
{
sb.Append( (char)((short)source[i - 1] + 3) );
}
return sb.ToString();
}