substring()也很好用,左边从(0开始,指定长度);右边(S.Length-1-指定长度,指定长度)

解决方案 »

  1.   

    有substring()函数,功能是一样的,只是参数不同
      

  2.   

    C#没有vb好用,明明三个函数,硬是被整成一个了。
      

  3.   

    你可以自己写个StringEx类,来实现Right, Left函数
      

  4.   

    同意batisituta(巴蒂) 的说法,我现在作的事就是要把用vb写的函数全部转成c# 郁闷
      

  5.   

    自己做吧
    public static string Left(string sSource, int iLength)
    {
    return sSource.Substring(0, iLength > sSource.Length ? sSource.Length : iLength);
    }public static string Right(string sSource, int iLength)
    {
    return sSource.Substring(iLength > sSource.Length ? 0 : sSource.Length - iLength);
    }public static string Mid(string sSource, int iStart, int iLength)
    {
    int iStartPoint = iStart > sSource.Length ? sSource.Length : iStart;
    return sSource.Substring(iStartPoint, iStartPoint + iLength > sSource.Length ? sSource.Length - iStartPoint : iLength);
    }
      

  6.   

    不完全赞同paynechu(帕恩)的做法,这样为了封装Left,Right,Mid函数而要引入一个类,类似于引入一个MyString之类的类定义,而这个类只是简单的封装了string的SubString方法,会引起整个程序的不一致性,而且不易于维护,后来的程序员是否还会产生MyString2?
    其实,做代码的移植的话,有两个解决办法:
    1、微软已经为了大量的VB代码的移植而包含了Microsoft.VisualBasic名称空间,里面包含了VB中的大量函数的实现,例如:
    String s = "Hello World!";
    String s2 = Microsoft.VisualBasic.Strings.Left(s,2);Console.WriteLine(s2);  //输出He
    当然这种方法是非完全的代码移植,虽然产生了.NET代码,也只是使用.NET framework,但是代码看上去还是VB的代码2、在移植前,整理出系统的中的函数,方法列表,然后在.net framework中寻找对应的类方法,然后写一个代码对应转换程序来完成代码的第一遍转换,实现打量平凡代码的转换工作,接下来就是编译,调试,手动转换特殊的方法和代码
    例如:Left(s,3)
    可以程序转换为:s.Substring(0, 3 > s.Length ? s.Length : 3);
    这个可以很容易的使用正则表达式实现。
      

  7.   

    直接使用SubString()好像也不复杂吧?
    没必要再单弄一个类出来。