您的位置:首页 > 其它

字符串分割后转换成指定类型的数组

2010-12-18 16:01 330 查看
这几天在工作的时候遇到一些问题:就是经常的将很长的字符串用'",",或"/r/n"等一些分割符成指定的类型的数组。比如:将"11,22,33,44,55,66,77" 用","分割成int数组。虽然C# 用split()方法可以分割,但是这个方法分割后的数组是string类型的数组。不是我想要的int数组。于是经过思考和在我们老大的帮助下自己做了一个泛型的方法来满足自己的需求.方法如下:

//分割字符
private T[] SplitString<T>(string splitString, string[] separators) where T : IConvertible
{
List<T> items = new List<T>();
string[] split = splitString.Trim().Split(separators, StringSplitOptions.RemoveEmptyEntries);
foreach (string s in split)
{
if (!string.IsNullOrEmpty(s) && !items.Contains<T>((T)Convert.ChangeType(s, typeof(T))))
items.Add((T)Convert.ChangeType(s, typeof(T)));
}
return items.ToArray<T>();
}


使用方式

string[] separators = new string[] { "," };

string strSplit="1,2,3,4,5,6,7,9,8,11";
List<int> skuList = SplitString<int>(strSplit,separators).ToList<int>();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: