0

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

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 个项目的字符串数组(假设进来的请求都不是空的)

最简单的方法是什么,我想到了使用列表和/或字典,两者都不适用于我想做的事情,字符串数组就是我想要的。

4

4 回答 4

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(','));
        }
于 2013-05-25T19:34:48.940 回答
0

使用 Linq 怎么样?

var dirParam = Enumerable.Range(0, 4)
              .Select(i => Request.Params["locationDirection_" + i])
              .Where(s => !String.IsNullOrEmpty(s))
              .SelectMany(s => s.Split(','))
              .ToArray();
于 2013-05-25T20:10:01.000 回答
0

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

于 2013-05-25T19:36:11.880 回答
0

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

于 2013-05-25T19:34:02.610 回答