IronPython 是用純 c 編寫的

IronPython 是使用託管的 .net(C#)程式碼完整編寫的。因此所有 builtin python 方法和庫(例如 next()int() 等)都在 .net 中寫入。

此示例顯示 len() 的實現,用於不同型別的列表(僅少數):

....

public static int len([NotNull]List/*!*/ list) {
    return list.__len__();
}

public static int len([NotNull]PythonTuple/*!*/ tuple) {
    return tuple.__len__();
}

public static int len([NotNull]PythonDictionary/*!*/ dict) {
    return dict.__len__();
}

….

如果我們需要其他型別來計算長度,請將它們新增到 Builtin.cs 中,它將自動生效。