问题描述
我正在使用Python.NET在C#中导入一个python列表(字符串),但找不到从Python.NET动态对象转换为C#列表的任何示例(那里的所有示例似乎都是相反的方向) C#到Python)。
我尝试使用(List<string>)
和Enumerable.ToList<string>()
来投射动态python.net对象,但是都失败了。 as
运算符返回null。唯一有效的方法是使用foreach
对其进行循环...但这真的是唯一的方法和最佳的解决方案吗?
代码如下:
using (Py.GIL())
{
dynamic MyPythonClass = Py.Import("MyPythonClass")
dynamic pyList = MyPythonClass.MyList;
//List<string> mylist = (List<string>)pyList; //failed
//List<string> mylist = Enumerable.ToList<string>(pyList); //failed
//List<string> mylist = pyList as List<string>; //returns null
List<string> mylist = new List<string>();
foreach(string item in pyList)
{
mylist.Add(item); //Success !
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)