虽然Ironpython可使用.net中的对象,可是在真正使用的时候,仍是有一些须要注意的地方,这里列出平时整理出来的,供参看
1. 使用.net中的Listpython
from System.Collections.Generic import List, Dictionary int_list = List[int]()
一样Byte类型的值的定义数组
from System import Byte b = Byte(1)
2.C# lambada.net
>>> from System.Collections.Generic import IEnumerable, List >>> list = List[int]([1, 2, 3]) >>> import clr >>> clr.AddReference("System.Core") >>> from System.Linq import Enumerable >>> Enumerable.Any(list,lambda x:x<2) True >>> Enumerable.Any(list,lambda x:x>2) True >>> Enumerable.Any(list,lambda x:x>4) False
3.C#中的byte[]数组,在Ironpython中这样表示bbyte = Array[Byte]
固然,首先须要import数组和Byte from System import Array,Byte
还有一种方式是经过System.Type来达到code
bbtype = System.Type.GetType('System.Byte') b_buffer = System.Array.CreateInstance(bbtype, 1024)
4.ref 和 out参数类型对象
>>> from System.Collections.Generic import Dictionary >>> d = { "a":100.1, "b":200.2, "c":300.3 } >>> d = Dictionary[str, float](d) >>> d.TryGetValue("b") (True, 200.2) >>> import clr >>> r = clr.Reference[float]() >>> d.TryGetValue("b", r) True >>> r.Value 200.2 >>>