日期:2014-05-17  浏览次数:20846 次

字符数组替换
List<string> str = new List<string>{"大","人","好"};

要把str的"人"替换成"家",该如何写代码呢?谢谢

------解决方案--------------------
  
//扩展方法
  static    IEnumerable<Tout> Each<T,Tout>(this IEnumerable<T> list,Func<T,Tout> func )
        {
            foreach (var item in list)
            {
                yield return func(item);
            }
        }


  
//调用结果
List<string> str = new List<string> { "大", "人", "好" };
  var res=str.Each(p=>p.Replace("人","家")).ToList();


ps:其实你直接Array.ForEach效果一样
------解决方案--------------------
str=str.Select(t=>t.Replace("人","家")).ToList();
------解决方案--------------------
可以。
int n = str.Select((x, i) => new { x, i }).First(x => x.x == "人").i;
str[n] = "家";
------解决方案--------------------
当然是写一个 for(var i=0; i<str.Count; i++) 也很足够了。