所以我有一个返回已编译字符串的静态方法。该方法获取一个匿名对象:
var data = new {one = 12.334, two = 235, three = {23, 34, 43}};
静态方法Result应遍历每个值并用小数点小数:
Math.Round(num, 1);
但我似乎无法找到迭代匿名对象的方法。我希望对象具有动态类型,以便在写入控制台时轻松访问,但我似乎也无法迭代动态对象。我需要一种方法来舍入double类型的所有值。
public static string Result(object data)
{
dynamic x = data;
// Iterate through each value and MathRound HERE
string compiled = $"test1: {x.one};test2: {x.two};test3: {x.three}";
return compiled;
}
使用动态对象的Foreach方法只会抛出此错误:
Cannot implicitly convert type '<>f__
AnonymousType0<double,int,int[]>' to 'System.Collections.IEnumerable'
使用匿名对象的foreach-method抛出了这个:
foreach statement cannot operate on variables of type 'object' because 'object'
does not contain a public definition for 'GetEnumerator
我是C#的新学员,所以如果术语不清楚,我会道歉。有谁知道如何解决这个问题?