C#文字换行的实现方法

时间:2021-05-20

本文实例讲述了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#程序设计有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章