c dynamic動態型別和匿名類

2022-01-11 00:43:35 字數 880 閱讀 2895

dynamic expando = new system.dynamic.expandoobject(); //動態型別字段 可讀可寫

expando.id = 1;

expando.name = "test";

string json = utils.convertjson.jsonencode(expando);  //輸出

listfieldlist = new list() ; //from config or db

dynamic dobj = new system.dynamic.expandoobject();

var dic = (idictionary)dobj;

foreach (var fielditem in fieldlist)

;var field="id";

eval("obj."+field+"=1");

alert(obj.id); //1  */

}var val = dobj.name; //「set name value」

var val1=dobj.age;//」set age value「

foreach (var fielditem in (idictionary)dobj)

//var aaaa = new ; //匿名類欄位唯讀不可寫

dynamic aaaa = new ; //匿名類欄位唯讀不可寫

aaaa.id = 2; //不可寫 報錯無法為屬性或索引器「<>f__anonymoustype1.id」賦值 - 它是唯讀的

dynamic obj = newtonsoft.json.jsonconvert.deserializeobject("");

var name = obj.name.value; //aa

匿名型別和Object轉換

本文 但是開發中遇到乙個問題,當把匿名型別作為返回值的時候,會變成object型別,如果才能再轉換能對應的匿名型別呢?返回匿名型別的函式,會轉換成object型別 object returnanonymous void main console.writeline typed.city,typed....

隱式型別 型別推斷 和匿名型別

一 隱式型別 型別推斷 編譯時能確定資料型別 var 型別在編譯的時候能確定資料型別,是隱式型別,也是強型別 var s sf var i 1 var ints new int var t 報錯,編譯的時候不能推斷出型別 以上都是型別推斷。二 匿名型別 var ints new 1 var car ...

匿名型別與匿名物件

var匿名型別 推斷型別 var可代替任何型別,編譯器會根據上下文來判斷你到底是想用什麼型別,類似 object,但是效率比object高點。我們可以賦予區域性變數推斷 型別 var而不是顯式型別。var 關鍵字指示編譯器根據初始化語句右側的表示式推斷變數的型別。推斷型別可以是內建型別 匿名型別 使...