这是在C#来分隔字符串转换为int数组的最佳方式? [英] Is this the best way in C# to convert a delimited string to an int array?

查看:72
本文介绍了这是在C#来分隔字符串转换为int数组的最佳方式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面给出字符串



 字符串str =1,2,3; 



这会不会是将其转换为一个最好的延长 INT 数组?

 静态类StringExtensions 
{
公共静态INT [] ToIntArray(这字符串s)
{
返回ToIntArray(S,,);
}
公共静态INT [] ToIntArray(这个字符串s,字符分隔符)
{
的String [] = AR s.Split(分隔符);
名单,LT; INT>整数=新的List< INT>();
的foreach(在AR VAR项)
{
INT伏;
如果(int.TryParse(项目,走出V))
ints.Add(V);
}
返回ints.ToArray();
}
}


解决方案

据实际上取决于你想用非整数的字符串做什么。此刻你静静地删除它们。就个人而言,我希望它错误。这也让您使用更简洁:

 公共静态INT [] ToIntArray(此字符串值,字符分隔符)
{
返回Array.ConvertAll(value.Split(分离器)中,s => int.Parse(S));
}


Given the string below:

string str = "1,2,3";

Will this be the best extension to convert it to an int array?

static class StringExtensions
{
    public static int[] ToIntArray(this string s)
    {
        return ToIntArray(s, ',');
    }
    public static int[] ToIntArray(this string s, char separator)
    {
        string[] ar = s.Split(separator);
        List<int> ints = new List<int>();
        foreach (var item in ar)
        {
            int v;
            if (int.TryParse(item, out v))
                ints.Add(v);
        }
        return ints.ToArray();
    }
}

解决方案

It really depends what you want to do with the non-integer strings. At the moment you silently drop them. Personally, I'd want it to error. This also lets you use the more terse:

public static int[] ToIntArray(this string value, char separator)
{
    return Array.ConvertAll(value.Split(separator), s=>int.Parse(s));
}

这篇关于这是在C#来分隔字符串转换为int数组的最佳方式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆