C#中的分割字符串没有分隔符(排序)

时间:2009-09-28 03:14:43

标签: c# arrays string split

我想在C#.NET中拆分一个如下所示的字符串:

string Letters = "hello";

并将每个字母(h, e, l, l, o)放入数组或ArrayList中。我不知道在String.Split(delimiter)中使用什么作为分隔符。如果原始字符串有逗号(或其他任何内容),我可以这样做:

string Letters = "H,e,l,l,o";
string[] AllLettersArray = Letters.Split(",".ToCharArray());

但我不知道在(假设)没有分隔符的情况下使用什么。是否有像Environment.Newline这样的特殊角色?感谢。

2 个答案:

答案 0 :(得分:23)

请记住,您可以在c#中以字符串形式访问字符串。

string str = "hello";
char[] letters = str.ToCharArray();

答案 1 :(得分:1)

这是另一个使用循环的完整解决方案。这将使用常规字符串"helloworld",并将每个字符作为字符串放入数组中。不使用LINQ或其他引用的最直接的方法。

string str = "helloworld";
string[] arr = new string[str.Length];

for(int i=0; i<str.Length; i++)
{
    arr[i] = str[i].ToString();
}

这可以作为扩展方法添加到您的代码库中。

public static class StringExtensions
{
    public static string[] ToStringArray(this string str)
    {
        string[] arr = new string[str.Length];

        for(int i=0; i<str.Length; i++)
        {
            arr[i] = str[i].ToString();
        }

        return arr;
    }
}

然后您将有1个班轮用于转换。

string str = "helloworld";
string[] arr = str.ToStringArray();