雖然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 >>>