我想修剪所有实体的某个属性。但这entity.ForEach(x => x.PropertyName.Trim());
似乎不起作用。执行操作后,该属性中仍有空格。那么知道如何轻松做到这一点吗?
首先,你不应该使用.ForEach()
方法,你应该使用foreach
循环。 其次,您遇到的实际问题是字符串是不可变的。 当你调用.Trim()
字符串本身没有被修改时,Trim()
返回一个新字符串,所以你需要把它分配给某些东西:
foreach(var e in entity)
{
e.PropertyName = e.PropertyName.Trim();
}
您可能还想处理您的命名。entity
意味着一个单数,你可以非常清楚地看到它是某物的集合,因为我们迭代了它。 也许应该是entities
?
创建一个新的列表对象 (y(,然后使用修剪的值重新创建对象列表。这就是函数式编程。
entity.ForEach(x => y.Add(new entity{ PropertyName = x.PropertyName.Trim()}));
我之前在下面发布了代码 - 将不起作用,因为实体列表对象是不可变的。对于这个错误,我深表歉意。(忽略下面的代码(
entity.ForEach(x => x.PropertyName = x.PropertyName.Trim());
试试这个
entity.ForEach(x =>
{
x.PropertyName = x.PropertyName.Trim();
});
您从未分配从 Trim(( 方法返回的新字符串值。
如果您想删除所有空格
entity.ForEach(x =>
{
x.PropertyName = x.PropertyName.Trim().Replace(" ", String.Empty);
});