C#文字換行的實(shí)現(xiàn)方法
本文實(shí)例講述了C#文字換行的實(shí)現(xiàn)方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
關(guān)鍵代碼如下:
/// <summary>
/// 文字換行
/// <para>eg:StringHelper.WrapText("YanZhiwei", 3);==>"Yan\r\nZhi\r\nwei"</para>
/// </summary>
/// <param name="data">需要換行的文字</param>
/// <param name="maxWidth">多少長(zhǎng)度換行</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
測(cè)試如下:
public void WrapTextTest()
{
string _actual = StringHelper.WrapText("YanZhiwei", 3);
Assert.AreEqual<string>(@"Yan
Zhi
wei", _actual);
}
運(yùn)行結(jié)果如下圖所示:
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
C#實(shí)現(xiàn)單例模式的幾種方法總結(jié)
這篇文章主要介紹了C#實(shí)現(xiàn)單例模式的幾種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01C#中類與結(jié)構(gòu)的區(qū)別實(shí)例分析
這篇文章主要介紹了C#中類與結(jié)構(gòu)的區(qū)別,類與結(jié)構(gòu)是C#初學(xué)者比較輕易混淆的概念,本文加以實(shí)例說(shuō)明,需要的朋友可以參考下2014-08-08Unity實(shí)現(xiàn)單機(jī)游戲每日簽到系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)單機(jī)游戲每日簽到系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04Unity3D應(yīng)用之時(shí)鐘與鐘表小組件的使用教程
這篇文章主要來(lái)和大家詳細(xì)介紹一下Unity3D應(yīng)用開(kāi)發(fā)中的時(shí)鐘和鐘表小組件的使用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-01-01