将项添加到字符串数组

时间:2013-05-25 19:31:22

标签: c# arrays string

我需要一种方法将项目添加到现有的字符串数组中,例如:

string[] dirParams = null;

if (Request.Params["locationDirection_0"] != "")
{
    dirParams = Request.Params["locationDirection_0"].Split(',');
}

if (Request.Params["locationDirection_1"] != "")
{
    dirParams = Request.Params["locationDirection_1"].Split(',');
}

if (Request.Params["locationDirection_2"] != "")
{
    dirParams = Request.Params["locationDirection_2"].Split(',');
}

if (Request.Params["locationDirection_3"] != "")
{
    dirParams = Request.Params["locationDirection_3"].Split(',');
}

会给我一个大约4个项目的字符串数组(假设没有任何请求是空的)

最简单的方法是什么,我想使用列表和/或dictonary,也不会对我想做的事情有效,字符串数组就是我想要的。

4 个答案:

答案 0 :(得分:2)

改为使用列表:

        List<string> dirParams = new List<string>();

        if (Request.Params["locationDirection_0"] != "")
        {
            dirParams.AddRange(Request.Params["locationDirection_0"].Split(','));
        }

        if (Request.Params["locationDirection_1"] != "")
        {
            dirParams.AddRange(Request.Params["locationDirection_1"].Split(','));
        }

        if (Request.Params["locationDirection_2"] != "")
        {
            dirParams.AddRange(Request.Params["locationDirection_2"].Split(','));
        }

        if (Request.Params["locationDirection_3"] != "")
        {
            dirParams.AddRange(Request.Params["locationDirection_3"].Split(','));
        }

答案 1 :(得分:0)

使用List<string>,然后使用ToArray()方法将其转换为string[]

答案 2 :(得分:0)

List<string>中构建项目,然后使用LINQ的.ToArray ()将其转换为数组。

答案 3 :(得分:0)

如何使用Linq?

var dirParam = Enumerable.Range(0, 4)
              .Select(i => Request.Params["locationDirection_" + i])
              .Where(s => !String.IsNullOrEmpty(s))
              .SelectMany(s => s.Split(','))
              .ToArray();