版本:Unity 6 (6000.0)
语言英语
  • C#

SearchExpression.FormatItem

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。尽管我们无法接受所有提交内容,但我们确实会阅读用户提出的每项更正建议,并在适用时进行更新。

关闭

提交失败

由于某种原因,您建议的更改无法提交。请在几分钟内重试。感谢您抽出时间帮助我们改进 Unity 文档的质量。

关闭

取消

声明

public static string FormatItem(Search.SearchContext ctx, Search.SearchItem item, string formatString);

参数

ctx 产生 SearchItem 的 SearchContext。
item 从中选择值来进行处理的 SearchItem。
formatString 可能包含分隔符的格式字符串。

返回

string 返回一个字符串,其中分隔符已经被替换为从给定的 SearchItem 中选择的值。

描述

获取一个格式字符串,并用从 SearchItem 中获取的选择的值替换其中的所有分隔符。

[Description("Convert arguments to a string allowing you to format the result.")]
[SearchExpressionEvaluator(SearchExpressionType.Selector | SearchExpressionType.Text, SearchExpressionType.Iterable | SearchExpressionType.Literal | SearchExpressionType.Variadic)]
[SearchExpressionEvaluatorSignatureOverload(SearchExpressionType.Iterable | SearchExpressionType.Literal | SearchExpressionType.Variadic)]
public static IEnumerable<SearchItem> FormatItems(SearchExpressionContext c)
{
    var skipCount = 0;
    if (SearchExpression.GetFormatString(c.args[0], out var formatStr))
        skipCount++;
    var items = c.args.Skip(skipCount).SelectMany(e => e.Execute(c));
    var dataSet = SearchExpression.ProcessValues(items, null, item => SearchExpression.FormatItem(c.search, item, formatStr));
    return dataSet;
}