CODEDOM中建立多維陣列的應用

2021-04-24 16:23:19 字數 2433 閱讀 5960

//建立乙個方法

codemembermethod pcodemembermethod = new codemembermethod();

pcodemembermethod.name = "teststring"; 

/**********************************開始設定多維陣列******************************/

//初始化--陣列值--陣列

codeprimitiveexpression pcodeprimitiveexpression2 = codeprimitiveexpressions(1, 2, 2, 2, 2);

//初始化--陣列設定--陣列

codearraycreateexpression pcodearraycreateexpression = new codearraycreateexpression(typeof(system .int32) , pcodeprimitiveexpression2  ) ;

//初始化--設定變數--陣列

codevariabledeclarationstatement pcodevariabledeclarationstatement2 = new codevariabledeclarationstatement(typeof(system.int32), "nlowerbounds", pcodearraycreateexpression);

//初始化--向方法內部新增語句--陣列

pcodemembermethod.statements.add(pcodevariabledeclarationstatement2);

//初始化--陣列值--陣列

codeprimitiveexpression pcodeprimitiveexpression3 = codeprimitiveexpressions(0,0,0,0,0);

//初始化陣列設定--陣列

codearraycreateexpression pcodearraycreateexpression2 = new codearraycreateexpression(typeof(system.int32), pcodeprimitiveexpression3);

//初始化--設定變數--陣列

codevariabledeclarationstatement pcodevariabledeclarationstatement3 = new codevariabledeclarationstatement(typeof(system.int32), "nlengths", pcodearraycreateexpression2 );

//初始化--向方法內部新增語句--陣列

pcodemembermethod.statements.add(pcodevariabledeclarationstatement3 );

//初始化完後,建立多維陣列

codevariabledeclarationstatement pcodevariabledeclarationstatement4 = new codevariabledeclarationstatement

(typeof(system.array), "parray",

new codemethodinvokeexpression(

new codetypereferenceexpression(typeof(system.array)), "createinstance",

new codetypeofexpression(typeof(system.int32)), new codevariablereferenceexpression ("nlowerbounds"),new codevariablereferenceexpression("nlengths")));

/**********************************完成設定多維陣列******************************/

//向方法內部新增多維的建立陣列

pcodemembermethod.statements.add(pcodevariabledeclarationstatement4);

/***********************開始引數賦值*********************************************/

public static codeprimitiveexpression codeprimitiveexpressions(params object obj)

return pcodeprimitiveexpressions;

}/***********************結束引數賦值*********************************************/

上面的**很亂,不能一目了然,其實用codedom建立多維陣列的方法就是呼叫system.array類中createinstance()方法,此方法可動態建立乙個多維陣列。

建立多維陣列

3種方法 1 利用索引生成陣列 2 利用函式 randn ones和zeros 生成陣列 3 利用cat函式生成多維陣列 1 索引法 a rand 3 建立3階隨機數組 a 0.9649 0.9572 0.1419 0.1576 0.4854 0.4218 0.9706 0.8003 0.9157 ...

python中建立指定大小的多維陣列

python中建立指定大小的二維陣列,有點像c 中進行動態申請記憶體建立陣列,不過相比較而言,python中更為簡單一些。建立n行m列的二維陣列 n 2 m 3 matrix none 2 for i in range len matrix matrix i 0 3 print matrix 當然也...

new動態建立陣列?(new建立多維陣列)

在使用陣列時我們難免會感覺陣列的靈活性太低,所以new成了我們使用頻率很高的乙個操作符。int p 2 int p2 2 2 int p3 2 2 2 這是最常規的操作。接下來上new的用法 new的第一種用法 int p newint 5 int p2 4 newint 5 4 int p3 4 ...