Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将字符串拆分为子字符串_C#_.net_String - Fatal编程技术网

C# 将字符串拆分为子字符串

C# 将字符串拆分为子字符串,c#,.net,string,C#,.net,String,我想将由一个或多个由逗号分隔的两个字母代码组成的字符串分成两个字母子字符串,并将它们放入字符串数组或其他合适的数据结构中。结果在某一点上被数据绑定到组合框,因此需要考虑这一点 我想要处理的字符串可以是空的,只由两个字母组成,也可以由多个由逗号分隔的两个字母代码组成(可能还有一个空格) 我曾考虑使用一个简单的字符串数组,但我不确定这是否是最好的方法 所以。。。您建议我使用什么样的数据结构以及如何实现它?如果您只是想绑定到该结构,那么字符串[]应该可以-如果您需要在将数据用作数据源之前处理数据,那么

我想将由一个或多个由逗号分隔的两个字母代码组成的字符串分成两个字母子字符串,并将它们放入字符串数组或其他合适的数据结构中。结果在某一点上被数据绑定到组合框,因此需要考虑这一点

我想要处理的字符串可以是空的,只由两个字母组成,也可以由多个由逗号分隔的两个字母代码组成(可能还有一个空格)

我曾考虑使用一个简单的字符串数组,但我不确定这是否是最好的方法


所以。。。您建议我使用什么样的数据结构以及如何实现它?

如果您只是想绑定到该结构,那么
字符串[]
应该可以-如果您需要在将数据用作数据源之前处理数据,那么
列表可能是更好的选择

以下是一个例子:

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        String s = "ab,cd,ef";

        // either a String[]
        String[] array = s.Split(new Char[] {','});
        // or a List<String>
        List<String> list = new List<String>(s.Split(new Char[] { ',' }));
    }
}
使用系统;
使用System.Collections.Generic;
班级计划
{
静态void Main()
{
字符串s=“ab,cd,ef”;
//或者是字符串[]
字符串[]数组=s.Split(新字符[]{',});
//或者一份清单
列表=新列表(s.Split(newchar[]{',}));
}
}

肯定至少从字符串数组开始,因为它是
string.Split()的返回类型。

更新:在分隔符中添加了空格。这将产生从结果字符串中删除空格的效果。

我的答案是“正确”,但我建议使用Joel Coehoorn的答案

public static string[] splitItems(string inp)
{
    if(inp.Length == 0)
        return new string[0];
    else
        return inp.Split(',');
}

你喜欢这个工作吗

var list = theString.Split(", ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToList();

更短,是的。我不知道它是否更优雅。它的表现力并没有太大的不同,它是在编译时扩展的,还是注入了必须在运行时执行的额外指令?“,”.tocharray()可以是静态字段的初始化器,并避免重复执行(或出现)的机会。
var list = theString.Split(", ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToList();