首页 > 解决方案 > 转换列表列出

问题描述

给定以下函数,我如何从 转换List<dynamic> back to List<T>

线var retval = (IEnumerable<T>)Convert.ChangeType(normalised, typeof(IEnumerable<dynamic>));

不起作用。我得到的例外是“对象必须实现IConvertible

   public static IEnumerable<T> NormalizeZeroAndOne<T>(this IEnumerable<T> list)
    {
        var max = list.Max();
        var min = list.Min();

        T range = ((dynamic)max - (dynamic)min);

        //var range = (max - min);
        var normalised
            = list.Select(i => ((dynamic)i - (dynamic)min) / range)
                .ToList();

        var retval = (IEnumerable<T>)Convert.ChangeType(normalised, typeof(IEnumerable<dynamic>));

        return retval;
    }

标签: c#dynamictype-conversion

解决方案


推荐阅读