比如:nnnnnnn;不用循环行吗?

解决方案 »

  1.   

    字符串的string和stringBuilder有重载构造
    好像是
    不常用,记错了,不要弄死我
      

  2.   

    而且如果你不使用循环的话,为了对付字符串长度不超过3的特殊情况,还要多加一层判断,从这个角度看,还没有循环代码来得"优雅", 不知道完美何来??
    String s = "ASDFGHJKL";
    for(int i = 3;i < s.Length - 3;i++){
    //..............
    }多简单...String s  = "ASDFGHJKL";
    if(s.Length > 6){
    //其实归根到底还是在这里用循环,区别只在于你自己写循环还是微软写循环...
    }
      

  3.   

    可以的吧string Append(string s,char c,int len)
    {
        if(len<=0) return s;
        char[] szEnd = new char[len]{c};
        return string.Format("{0}{1}",s,new string(szEnd));
    }
      

  4.   

    那按楼上的方式最终是这样:
    String s = "ASDFGHJKL";
    if(s.Length > 6){
    char[] szEnd = new char[s.Length - 6]{'X'};
    s = s.SubString(0,3) + new String(szEnd) + s.SubString(s.Length-3);
    }
    得到s = "ASDXXXJKL";不过这还是看不出比更简单得多的一个完美在哪...
      

  5.   

    new string('X', 100);不过内部实现还是循环,像楼上说的,微软帮你写循环
      

  6.   

     string str = new string('n', 10);//nnnnnnnnnn
      

  7.   

    String的构造函数都不知道,基础类库需要补习一下了~
      

  8.   

    string a="你是大笨蛋 连这个都不知道";
    a.PadRight(100,'哈'); //PadLeft 是 左边的
      

  9.   

    string str = new string('n', 10);//nnnnnnnnnn别人抢了去了,这个方法最方便,
      

  10.   

     要循环吗?
            /// <summary>
            /// 对内容的部分数据进行标记处理
            /// </summary>
            /// <param name="content">要处理的内容,如:8800099</param>
            /// <param name="Char">用于标记处理的字符,如:*</param>
            /// <param name="headCount">取的头部字符数据,如:2</param>
            /// <param name="footCount">取的尾部字符数据,如:2</param>
            /// <returns>如:头部字符+标记字符+尾部字符</returns>
            /// <example><code>
            /// //text 的结果为 "88***99"
            /// string text = MarkContent("8800099",'*',2,2);
            /// </code></example>
            public static string MarkContent(string content, char Char, int headCount, int footCount)
            {
                //空字符或长度不够
                if (string.IsNullOrEmpty(content)) return string.Empty;
                if (content.Length < headCount + footCount) return content;            //取头尾字符
                string headChars = content.Substring(0, headCount);
                string footChars = content.Substring(content.Length - footCount);            //构造模式字符
                string Chars = new string(Char, (content.Length - headCount - footCount));            return headChars + Chars + footChars;
            }
      

  11.   

    string a = "aaa";
                    a.PadRight(100, "x");
                    a.PadRight(3, "bbb");