-8

我有一个获取字符串的代码,该字符串包含颜色名称。我想拆分用逗号分隔的字符串。这是我的代码。

public static string getcolours()
{
    string str = null;
    DBClass db = new DBClass();
    DataTable allcolours = new DataTable();
    allcolours = db.GetTableSP("kt_getcolors");
    for (int i = 0; i < allcolours.Rows.Count; i++)
    {
        string s = allcolours.Rows[i].ItemArray[0].ToString();
        string missingpath = "images/color/" + s + ".jpg";
        if (FileExists(missingpath))
        {

        }
        else
        {
             str = str + missingpath;


        }

    }
    return str;

}
4

3 回答 3

4

只需使用Split

string[] yourStrings = s.Split(',');

实际上,我认为您要的是这样的返回字符串:

"red, blue, green, yellow"

为此,您需要使用string.Join. 尝试这个:

public static string getcolours()
{
    List<string> colours = new List<string>();
    DBClass db = new DBClass();
    DataTable allcolours = new DataTable();
    allcolours = db.GetTableSP("kt_getcolors");
    for (int i = 0; i < allcolours.Rows.Count; i++)
    {
        string s = allcolours.Rows[i].ItemArray[0].ToString();
        string missingpath = "images/color/" + s + ".jpg";
        if (!FileExists(missingpath))
        {
            colours.Add(missingpath);
        }
    }

    return string.Join(", ", colours);
}
于 2013-04-24T14:56:16.250 回答
2
string[] words = s.Split(',');
于 2013-04-24T14:56:50.907 回答
1

如果您不想有空值,请使用 StringSplitOptions。

var colours = str.Split(",", StringSplitOptions.RemoveEmptyEntries);
于 2013-04-24T14:59:33.250 回答