【问题标题】:Convert elements in List<string> to List<Texture> in C# (Unity3d)将 List<string> 中的元素转换为 C# (Unity3d) 中的 List<Texture>
【发布时间】:2011-06-22 05:27:38
【问题描述】:

我应该如何最好地转换

的元素
List<string> icons

到:

List<Texture> icons

我正在从 XML 文件中提取文件名(因此是初始字符串格式),但我想将文件名转换为纹理格式,因为它们是在运行时动态形成的,因此我无法从检查器加载。

【问题讨论】:

标签: c# unity3d


【解决方案1】:

您可以使用ConvertAll&lt;T&gt;

icons.ConvertAll<Texture>(s => new Texture(..whatever conversion...))

或者您可以使用 LINQ 进行转换

from s in icons select new Texture(...)

两者几乎可以归结为相同的。不同之处在于 LINQ 为您提供了一个 IEnumerable,它直接从字符串列表中汇集数据(无需创建新列表),因此非常适合一次性使用。如果您需要持久的纹理列表,请使用ConvertAll 或使用ToList() 固定IEnumerable

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多