我需要一种方法将项目添加到现有的字符串数组中,例如:
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,也不会对我想做的事情有效,字符串数组就是我想要的。
答案 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();