我应该如何最好地转换
的元素List<string> icons
为:
List<Texture> icons
我从XML文件中提取文件名(因此是初始字符串格式),但我想将文件名转换为纹理格式,因为它们是在运行时动态形成的,因此我无法从检查器加载。
答案 0 :(得分:5)
您可以使用ConvertAll<T>
icons.ConvertAll<Texture>(s => new Texture(..whatever conversion...))
或者您可以使用LINQ进行转换
from s in icons select new Texture(...)
两个prety很多归结为相同。区别在于LINQ为您提供了一个IEnumerable
,它直接从字符串列表中汇集数据(不创建新列表),因此它适用于一次性使用。如果您需要纹理的持久列表,请使用ConvertAll
或使用IEnumerable
确定ToList()