關鍵代碼:
#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); }
結果:
希望有所幫助!
|
新聞熱點
疑難解答