C#文字換行的實現(xiàn)方法
更新時間:2014年12月16日 10:05:59 投稿:shichen2014
這篇文章主要介紹了C#文字換行的實現(xiàn)方法,通過自定義函數(shù)實現(xiàn)針對特定字符串的換行長度處理,是比較實用的技巧,對于C#的深入學習具有一定的借鑒價值,需要的朋友可以參考下
本文實例講述了C#文字換行的實現(xiàn)方法。分享給大家供大家參考。具體實現(xiàn)方法如下:
關鍵代碼如下:
復制代碼 代碼如下:
#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);
}
/// <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);
}
public void WrapTextTest()
{
string _actual = StringHelper.WrapText("YanZhiwei", 3);
Assert.AreEqual<string>(@"Yan
Zhi
wei", _actual);
}
運行結果如下圖所示:
希望本文所述對大家的C#程序設計有所幫助。