我们常用需要各种类型之间的数据转化问题,当然其本质还是取得存储空间的二进制数据,根据类型位数来转化。此处只取巧实现简单方法,仅能满足正常类型的转化。
比如一个string str=“1024”;
我们想要转化为 int strInt = 1024;
那么我们可以:
int strInt = str.intValue();
public static int intValue(this object obj) { if(obj != null && obj is string && string.IsNullOrEmpty(obj.ToString())) { return 0; } return Convert.ToInt32(atoi(obj)); } private static object atoi(object input) { if(!(input is string)) { return input; } var filterResult = atoFilter(input.ToString(), IntFilter); if (string.IsNullOrEmpty(filterResult)) filterResult = "0"; return filterResult; } private static readonly string IntFilter = "+-0123456789"; private static string atoFilter(string input, string validChars) { int i; string result = ""; for(i = 0; i < input.Length; i++) { if(input[i] == ' ') { continue; } if(validChars.IndexOf(input[i]) >= 0) { result += input[i]; } else break; } return result; }如果转化为string
public static string stringValue(this object obj) { return Convert.ToString(obj); }其他的类似这种吧