如何在 xamarin ios 中将我的 NSArray 投射到 List<String>
How do I cast my NSArray to List<String> in xamarin ios
在我的 xamarin ios 项目中,我正在从文件中获取一些数组
正在使用
NSArray TimeFilePath = NSBundle.MainBundle.PathForResource("Time","txt");
arrTime = NSArray.FromFile(TimeFilePath);
现在我必须将 TimeFilePath 转换为列表
我尝试了以下但失败了
List<string>items = (List<string>)TimeFilePath;
帮我看看如何在 C# 中将 NSArray 转换为 List
听起来你想要 arrTime
(而不是 TimeFilePath
)中的列表作为 PathForResource
returns a string
所以你的 您问题中的 cast 没有使用正确的变量。
有很多方法可以做到这一点,但我建议您使用 .NET,而不是 Apple,API 来实现这一点,例如
var TimeFilePath = NSBundle.MainBundle.PathForResource("Time","txt");
var lines = System.IO.File.ReadLines (TimeFilePath);
var arrTime = List<string> (lines);
我需要一行完成,我花了很长时间才弄清楚,所以我在这里分享我的结果。
可以使用 Enumerable.Range 来处理 Linq。
此示例通过迭代 NSArray 并对 NSArray 中的每个对象调用 ToString() 并在最后调用 ToList() 来实现。
Enumerable.Range(0, (int)((NSArray)arrTime).Count)
.Select(i => ((NSArray)arrTime)
.GetItem<NSString>(nuint.Parse(i.ToString())).ToString())
.ToList()
在我的 xamarin ios 项目中,我正在从文件中获取一些数组
正在使用
NSArray TimeFilePath = NSBundle.MainBundle.PathForResource("Time","txt");
arrTime = NSArray.FromFile(TimeFilePath);
现在我必须将 TimeFilePath 转换为列表
我尝试了以下但失败了
List<string>items = (List<string>)TimeFilePath;
帮我看看如何在 C# 中将 NSArray 转换为 List
听起来你想要 arrTime
(而不是 TimeFilePath
)中的列表作为 PathForResource
returns a string
所以你的 您问题中的 cast 没有使用正确的变量。
有很多方法可以做到这一点,但我建议您使用 .NET,而不是 Apple,API 来实现这一点,例如
var TimeFilePath = NSBundle.MainBundle.PathForResource("Time","txt");
var lines = System.IO.File.ReadLines (TimeFilePath);
var arrTime = List<string> (lines);
我需要一行完成,我花了很长时间才弄清楚,所以我在这里分享我的结果。
可以使用 Enumerable.Range 来处理 Linq。
此示例通过迭代 NSArray 并对 NSArray 中的每个对象调用 ToString() 并在最后调用 ToList() 来实现。
Enumerable.Range(0, (int)((NSArray)arrTime).Count)
.Select(i => ((NSArray)arrTime)
.GetItem<NSString>(nuint.Parse(i.ToString())).ToString())
.ToList()