需求:修改List<string>类型的链表的每一个string对象。
第一反应是List.ForEach,但是使用完后,原链表还是原链表;
后来又学习了一下,了解到C#用foreach语句对数组进行遍历,只能采用只读的方式,不能修改任何元素的值。
另外List.ForEach返回值为空,想进行下一步ToList操作也不行🤣
想实现上述需求可以使用Select方法:
比如依据每一个元素的开头来选择是否改变:
LastSendMessageItemList =LastSendMessageItemList.Select(s =>s.StartsWith("A")? s.Split(',')[0] + s.Split(',')[1] + "[" + s.Split(',')[1] + "]"]:s
).ToList();