C#:String类型中的CharAt 方法

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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值