虽然Ironpython可以使用.net中的对象,但是在真正使用的时候,还是有一些需要注意的地方,这里列出平时整理出来的,供参看
1. 使用.net中的List
from System.Collections.Generic import List, Dictionary
int_list = List[int]()
同样Byte类型的值的定义
from System import Byte
b = Byte(1)
2.C# lambada
>>> 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来达到
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
>>>
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。