这可以通过编写一个自定义的方法来实现,该方法会遍历字符串,并在达到指定的字符数后插入换行符。 csharp using System.Text; public static string InsertNewLineCharacters(string input, int charPerLine) { if (input == null || charPerLine <= 0) { return input; } StringBuilder sb = new ...
//清除上一次添加的换行符号 _component.text = _component.text.Replace("\n", string.Empty);TextLine = _component.cachedTextGenerator.lines;//需要改变的字符序号 int ChangeIndex = -1;TempText = new System.Text.StringBuilder(_component.text);for (int i = 1; i < TextLine.Count; i++){ /...
int mChangeIndex = -1;MExplainText = new System.Text.StringBuilder(_component.text);for (int i...
在对Text做格式化时发现的问题。假设某个Text组件text_component,使用System.Text.StringBuilder(text_component.text)计算长度,使用IList<UILineInfo> text_line = text_component.cacheTextGenerator.lines获取文字排成行以后的信息。 如果最后一个字符是换行,那么最后一行会多换出一个空行。这时候,行信息的首字符其实...
StringBuilder stringBuilder = new StringBuilder(text); IList<UILineInfo> lineList = cachedTextGenerator.lines; int changeIndex = -1; for (int i = 1; i < lineList.Count; i++) { bool isMark = Regex.IsMatch(text[lineList[i].startCharIdx].ToString(), strRegex); ...
为了方便频繁的字符连接操作,StringBuilder提供了Append、AppendLine和 AppendFormat这3个方法。 Append方法用于将一个新串加到字符串的尾端,参数可以是字符串,可以是基本值类型。 AppendLine方法会在追加新串后再增加一个换行符。 AppendFormat方法在追加新串的同时进行参数格式化。
fieldInfo.FieldType.IsValueType) { SearchProperties(fieldInfo.GetValue(null), assetPaths); } } if(assetPaths.Count > 0) { StringBuilder sb = new StringBuilder(); sb.AppendFormat("{0}.cs\n", type.ToString()); foreach(string path in assetPaths) { sb.AppendFormat("\t{0}\n", path);...
=' ')//向StringBuilder类对象添加非空格字符stringBuilder.Append(enumerator.Current.ToString());}vargroup=match.Groups[1];varhrefInfo=newHyperlinkInfo{startIndex=stringBuilder.Length*4,// 超链接里的文本起始顶点索引endIndex=(stringBuilder.Length+match.Groups[2].Length-1)*4+3,name=group.Value};m_...
(int)(grayRGB/256.0f*(m_Chars.Length));varvalue=m_Chars[index];m_StringBuilder.Append(value);}//每行画完换行m_StringBuilder.Append("\n");}//输出到文本上显示Text_Painter.text=m_StringBuilder.ToString();}voidStart(){StartPaint();}#if UNITY_EDITORprivatevoidOnValidate(){StartPaint();}#...
UI控件必须在初始化的时候通过find获得,而不是在使用的时候频繁获得。 不要频繁使用GetComponent获得组件,可以在初始化时候缓存引用。 经验 尽可能不要使用foreach。 避免重复使用string,因为C#中的string是定长并分配在堆上的,每次赋值都会重新创建一个新的string,可以使用StringBuilder来构建字符串。