[C#]文字换行_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > [C#]文字换行

[C#]文字换行

 2014/12/15 19:27:02  楚人游子  程序员俱乐部  我要评论(0)
  • 摘要:关键代码:#region文字换行///<summary>///文字换行///<para>eg:StringHelper.WrapText("YanZhiwei",3);==>"Yan\r\nZhi\r\nwei"</para>///</summary>///<paramname="data">需要换行的文字</param>///<
  • 标签:C#

关键代码:

class="csharpcode">     #region 文字换行
        /// <summary>
        /// 文字换行
        /// <para>eg:StringHelper.WrapText("YanZhiwei", 3);==>"Yan\r\nZhi\r\nwei"</para>
        /// </summary>
        /// <param name="data">需要换行的文字</param>
        /// <param name="maxWidth">多少长度换行</param>
        /// <returns>换行好的文字</returns>
        public static string WrapText(this string data, int maxWidth)
        {
            int _stringCount = data.Length;
            if (maxWidth > 0 && _stringCount > maxWidth)
            {
                StringBuilder _builderString = new StringBuilder(data);
                int _breakCount = _builderString.Length / maxWidth;
                for (int i = 0; i < _breakCount; i++)
                {
                    int _insertPosition = i * maxWidth;
                    if (_insertPosition != 0)
                    {
                        int _offset = (i - 1) * 2;//(\r\n)
                        _builderString.Insert(_insertPosition + _offset, Environment.NewLine);
                    }

                }
                return _builderString.ToString();
            }
            else
            {
                return data;
            }
        }
        #endregion

测试:

        [TestMethod()]
        public void WrapTextTest()
        {
            string _actual = StringHelper.WrapText("YanZhiwei", 3);
            Assert.AreEqual<string>(@"Yan
Zhi
wei", _actual);
        }

结果:

image

希望有所帮助!

发表评论
用户名: 匿名