首页 > 编程知识 正文

C#:String类型中的CharAt 方法

时间:2023-05-04 14:59:42 阅读:285939 作者:4750

C#:String类型中的CharAt

今天也不知哪根筋搭错了,混乱的记忆中居然显示C#中的string拥有CharAt()方法。唉,不得不说,我把java中的这个用法代入到C#里面了。

证明没有之后,脑袋的思维严重受挫,呵呵。我做事情,有点固执,不达目的不罢休,既然C#里面没有CharAt()方法,那我就给他编一个。

C#中有一个:扩展方法。

我就用这个方式给string自编自造了一个CharAt()方法出来,代码如下:

1 using System; 2 3 namespace zuo_Company{ 4 5 public class TestMain{ 6 static void Main(){ 7 string str = "abcdefg"; 8 string n_str = str.CharAt(str.Length-1); 9 Console.WriteLine(n_str);10 }11 }12 13 public static class CharAtExtention{14 public static string CharAt(this string s,int index){15 if((index >= s.Length)||(index<0))16 return "";17 return s.Substring(index,1);18 }19 }20 }

在制作这个方法时,考虑了一些可能发生的事情。比如超出了整个字符串的长度就无法进行提取操作,当然小于0也是不可能被执行的。


string 转换成 Char[]
  string ss = "abcdefg";
  char[] cc = ss.ToCharArray();

Char[] 转换成string
  string s = new string(cc);

此外,byte[] 与 string 之间的装换
  byte[] bb = Encoding.UTF8.GetBytes(ss);
  string s = Encoding.UTF8.GetString(bb);

下面我们利用 StringBuilder 来进行数组 与 string 间的转换 , 很简单,代码如下

using System.Text;

StringBuilder sb = new StringBuilder();
foreach(char c in cc)
{
    sb.Append(c);
}
string s = sb.ToString();

StringBuilder 的 Append 方法支持多种参数,所以数组转换成string基本上都可以用它。

另外 string[] 转换成string,.Net框架提供了一个使用的方法
string strOr = "OR";
string result = string.Concat(new string[]{" A ",strOr," B ",Environment.NewLine," C ",strOr," D "});



版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。