我有这个LINQ Where子句:
var ext = extendedPhrases
.Where(x => x.HepburnRomaji != x.Romaji && x.Romaji != null);
有没有办法可以从x.Romaji中删除空格,以便我可以将HephurnRomaji与字符之间没有空格的x.Romaji进行比较?
答案 0 :(得分:4)
NullReferenceException
从字符串中删除空格。String.Replace
删除Romaji中的空格代码
var ext = extendedPhrases
.Where(x => x.Romaji != null && x.HepburnRomaji != x.Romaji.Replace(" ", ""));
答案 1 :(得分:2)
变化
.Where(x => x.HepburnRomaji != x.Romaji && x.Romaji != null);
进入
.Where(x => x.Romaji != null && x.HepburnRomaji != x.Romaji.Replace(" ",""));
答案 2 :(得分:1)
一个明显的选择是使用Replace
。但是,它为每个包含空格的字符串创建新对象。如果您想避免创建新对象,请使用SequenceEqual
:
Where(x =>
x.Romaji != null
&& !x.HepburnRomaji.SequenceEqual(x.Romaji.Where(c => c != ' ')
)