您的位置:首页 > 编程语言 > C#

C#文字换行的实现方法

2018-10-12 14:07 417 查看

本文实例讲述了C#文字换行的实现方法。分享给大家供大家参考。具体实现方法如下:

关键代码如下:

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

运行结果如下图所示:

希望本文所述对大家的C#程序设计有所帮助。

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: