微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在linq c#中删除字符串末尾的字符

如何解决如何在linq c#中删除字符串末尾的字符

我有以下 LINQ 查询;如果在字符串末尾可用,我想删除点字符

var hatoList = (from L in db.vHatoList select L.HatoFullName.Trim('.')).ToList();

解决方法

您当前正在尝试在数据库中执行查询。我们不知道您使用的是什么数据库技术,因此很难知道是否有某种方法可以使其实际上发生在数据库中,但在内存中进行可能最简单(鉴于它不会改变将返回的记录数)。 AsEnumerable() 方法仅用于将编译时类型更改为 IEnumerable<T>(而不是 IQueryable<T>),从而强制在 .NET 代码中而不是在数据库中评估查询的其余部分:

var hatoList = db.vHatoList 
                 .AsEnumerable()
                 .Select(entry => entry.HatoFullName.TrimEnd('.'))
                 .ToList();

(我还将调用从 Trim 更改为 TrimEnd 以避免删除字符串开头的句点。)

,

您正在使用 linq to sql 并且数据库无法识别 TrimEndTrim

所以首先你需要在内存中加载数据,然后使用 TrimEnd 方法。

var hatoList = (from L in db.vHatoList select L.HatoFullName).ToList().
             Select(t=>t.TrimEnd('.'));

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。