恩蓝号

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 "});



免责声明:文章源自网络,版权归原作者所有,如有侵犯联系删除。

当前位置:首页 > 编程知识 » 2023-02-19 12:32:25

猜你喜欢


java定义方法,java调用方法

charAt() 方法可返回指定位置的字符。 请注意,JavaScript 并没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为...