標籤:style blog http io ar color os sp for
關鍵代碼:
#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>(@"YanZhiwei", _actual); }
結果:
希望有所協助!
[C#]文字換行