为什么不从System.String拆分接受字符串作为重载?

时间:2013-01-17 21:42:22

标签: c# .net vb.net

  

可能重复:
  Why isn’t there a string.Split(string) overload?

有几个重载,但没有一个允许发送字符串。这是开发人员经常使用的,至少我的团队使用过。

string[] x = "abc|||dev".Split("|||");

为什么?..


拜托,我不是问如何分割传递字符串。

2 个答案:

答案 0 :(得分:3)

x.Split(new String[] { "|||" }, StringSplitOptions.None);

Regex.Split(x, @"([a-zA-Z]+)\|\|\|([a-zA-Z]+)");

public static class StringExtensions()
{
    public static String[] Split(this String s, String delimiter)
    {        
        return s.Split(new String[] { delimiter }, StringSplitOptions.None);
    }
}

答案 1 :(得分:2)

我不能说为什么它不包含但是如果你进行了大量的字符串拆分,那么扩展方法就是为了帮助你解决你最喜欢的重载问题。

class Program
{
    static void Main(string[] args)
    {
        string[] x = "abc|||dev".Split("|||");
    }
}

public static class StringExtensions
{
    public static string[] Split(this string str, string separator)
    {
        return str.Split(new[] { separator }, StringSplitOptions.None);
    }
}