我要修剪所有实体的某些属性。但是此entity.ForEach(x => x.PropertyName.Trim());
似乎无效。执行该操作后,该属性中仍包含空白。那么有什么主意如何轻松做到这一点?
答案 0 :(得分:0)
要么创建一个新的列表对象(y),然后使用修剪后的值重新创建对象列表。这是函数式编程。
entity.ForEach(x => y.Add(new entity{ PropertyName = x.PropertyName.Trim()}));
我以前在下面的代码中发布过-无法使用,因为实体列表对象是不可变的。我为这个错误表示歉意。(忽略下面的代码)
entity.ForEach(x => x.PropertyName = x.PropertyName.Trim());
答案 1 :(得分:0)
首先,您不应该使用.ForEach()
方法,而应该使用foreach
循环。其次,您遇到的实际问题是字符串是不可变的。当您调用.Trim()
时,字符串本身未被修改,Trim()
返回一个 new 字符串,因此您需要将其分配给以下内容:
foreach(var e in entity)
{
e.PropertyName = e.PropertyName.Trim();
}
您可能还需要进行命名。 entity
表示单数,您可以在其中清楚地看到它是某物的集合,因为我们对其进行了迭代。也许应该是entities
?
答案 2 :(得分:-1)
尝试一下
entity.ForEach(x =>
{
x.PropertyName = x.PropertyName.Trim();
});
您从未分配从Trim()方法返回的新字符串值。
如果要删除所有空格
entity.ForEach(x =>
{
x.PropertyName = x.PropertyName.Trim().Replace(" ", String.Empty);
});