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

SearchExpression.TryConvertToDouble

提出更改建议

成功!

感谢您帮助我们改进 Unity 文档的质量。尽管我们无法采纳所有意见和建议,但我们会认真阅读用户提出的每项更改建议,并尽可能进行更新。

关闭

提交失败

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

关闭

取消

声明

public static bool TryConvertToDouble(Search.SearchItem item, out double value, string selector);

参数

项目 从中提取值 SearchItem。
产生的值。
选择器 用于访问项目值的选择器。如果为 null,我们将使用内部项目值。

返回值

bool如果我们能够选择值并将其转换为 double,则返回 true。

说明

解析项目上的选择器,并尝试将选定的值转换为 double。

[Description("Returns asset paths corresponding to a list of instance ids")]
[SearchExpressionEvaluator("IdsToPaths", SearchExpressionEvaluationHints.ThreadNotSupported, SearchExpressionType.Iterable)]
public static IEnumerable<SearchItem> IdsToPath(SearchExpressionContext c)
{
    foreach (var idItem in c.args[0].Execute(c))
    {
        if (SearchExpression.TryConvertToDouble(idItem, out var idNum))
        {
            var id = (int)idNum;
            var path = AssetDatabase.GetAssetPath(id);
            if (!string.IsNullOrEmpty(path))
            {
                yield return SearchExpression.CreateItem(path, c.ResolveAlias("asset path"));
            }
        }
    }
}