如何使用Sumq函数(如Sum()和动态变量)

jag*_*gan 2 c# linq dynamic

Type t = Type.GetType(obj.ToString());                 
PropertyInfo p = t.GetProperty("Test");
dynamic kk =  p.GetValue(obj, null);
Run Code Online (Sandbox Code Playgroud)

在这里,Test是一个int List.我需要得到int列表中所有值的总和,即.,kk.

Ste*_*ven 6

var list = p.GetValue(obj, null) as IEnumerable<int>;

var result = list.Sum();
Run Code Online (Sandbox Code Playgroud)

  • 任何时候你使用`var`你也可以使用equivilent类型.当你使用var时,所有编译器在编译时**都会计算出类型是什么.`var`变量**仍然是强类型**.我倾向于在类型明显时使用它,或者在节省大量输入时使用它. (3认同)