先贴一下官方文档
ChangeType往往用在不知道当前类型应当是什么的情况下,比如有个泛型方法
T GetValue<T>(object value)这样子可以转到目标类型
具体实现如下
public static T GetValue<T>(object value)
{
return (T)Convert.ChangeType(value, typeof(T));
}
什么地方可以用到?
例如在项目中配表里字段配成字符串,里面用一些分隔符分割一下例如“1#2#3”,
这是需要我们自己分割转成int数组或者int列表
分出来一个个转int很麻烦,而且不只有转int的需要,所以要加个泛型来处理这些数据
下面列出一个方法
public static List<T> GetList<T>(string str, char spliteChar)
{
string[] ss = str.Split(spliteChar);
int length = ss.Length;
List<T> arry = new List<T>(ss.Length);
for(int i=0;i<length;i++)
{
arry.Add(GetValue<T>(ss[i]) );
}
return arry;
}
测试代码
List<int> list = GetList<int>("1#2#3", '#');
这样就就可以把字符串转int列表