首页 新闻 会员 周边

怎么使一个数组的每一个元素加上某个字符串,返回数姐

0
悬赏园豆:5 [已解决问题] 解决于 2012-12-17 14:28

如:把数据string[] path = { "aaa", "bbb", "ccc" };的每一个元素前面加上"cnblogs",得到数组string[] path = { "cnblogsaaa", "cnblogsbbb", "cnblogsccc" };写了个linq不行!后来发现ForEach是一个void类型的委托。    有谁有更好的办法啊    

            string[] path = { "aaa", "bbb", "ccc" };
            List<string> pathList = path.ToList();
            pathList.ForEach(t => { t = "cnblogs" + t; });
            path = pathList.ToArray();

千金散尽写代码的主页 千金散尽写代码 | 菜鸟二级 | 园豆:234
提问于:2012-12-11 13:01
< >
分享
最佳答案
0

string[] path = { "aaa", "bbb", "ccc" };           
path = path.Select(o => "cnblogs" + o).ToArray();

收获园豆:2
Launcher | 高人七级 |园豆:45045 | 2012-12-11 13:12

恩。这种方法不错!没考虑到用select

千金散尽写代码 | 园豆:234 (菜鸟二级) | 2012-12-11 13:57
其他回答(5)
0

string[] path = { "aaa", "bbb", "ccc" };
string aa="";
foreach(var item in path)
{

aa+=item+"cnblogs";

}

jason2013 | 园豆:1998 (小虾三级) | 2012-12-11 13:12

恩。这种还要创建一个新数组进行赋值呢!

支持(0) 反对(0) 千金散尽写代码 | 园豆:234 (菜鸟二级) | 2012-12-11 13:57
0

还不如直接for了呢

chenping2008 | 园豆:9836 (大侠五级) | 2012-12-11 13:14
0
string[] path = { "aaa", "bbb", "ccc" };    
       //直接使用Select进行就行了,这样不修改原数组
path = path.Select(item => "cnblogs" + item ).ToArray();
收获园豆:1
苏飞 | 园豆:2024 (老鸟四级) | 2012-12-11 13:28

回复同上!

支持(0) 反对(0) 千金散尽写代码 | 园豆:234 (菜鸟二级) | 2012-12-11 13:57

学习了,linq用的很溜啊你们。

支持(0) 反对(0) 茂茂 | 园豆:2892 (老鸟四级) | 2012-12-11 14:03
0

直接for循环

            string[] path = { "aaa", "bbb", "ccc" };
            int index = 0;
            Array.ForEach(path, t => { path[index] = "cnblogs" + t; index++; });

 

收获园豆:1
Qlin | 园豆:2403 (老鸟四级) | 2012-12-11 13:38

这种方法应该也是可行的。谢谢!

支持(0) 反对(0) 千金散尽写代码 | 园豆:234 (菜鸟二级) | 2012-12-11 13:58
0

个人不太喜欢写循环,所以有以下方法总结。

方法一:使用字符串的基础操作功能。

string[] strs=new String[]{"a","b"};

string str1="@,"+string.Join(",@,",strs);

string str2=str1.Replace("@,","admin");

string[] strs1=str2.Split(',');  

方法二:Array中有现成的方法,一句话搞定。

string[] strs2= Array.ConvertAll(strs,new Converter<string, string>(A=>"admin"+A));

收获园豆:1
中文代码 | 园豆:951 (小虾三级) | 2012-12-12 09:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册