如:把数据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();
string[] path = { "aaa", "bbb", "ccc" };
path = path.Select(o => "cnblogs" + o).ToArray();
恩。这种方法不错!没考虑到用select
string[] path = { "aaa", "bbb", "ccc" };
string aa="";
foreach(var item in path)
{
aa+=item+"cnblogs";
}
恩。这种还要创建一个新数组进行赋值呢!
还不如直接for了呢
string[] path = { "aaa", "bbb", "ccc" }; //直接使用Select进行就行了,这样不修改原数组 path = path.Select(item => "cnblogs" + item ).ToArray();
回复同上!
学习了,linq用的很溜啊你们。
直接for循环
string[] path = { "aaa", "bbb", "ccc" }; int index = 0; Array.ForEach(path, t => { path[index] = "cnblogs" + t; index++; });
这种方法应该也是可行的。谢谢!
个人不太喜欢写循环,所以有以下方法总结。
方法一:使用字符串的基础操作功能。
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));