我有一个linq查询,正在使用某些操作[替换]来聚合一些字符串。因此,我有两个版本的查询;其中一个工作,另一个不工作[引发异常],我想知道为什么它不工作。
工作查询:
string.Join("",Context.Table1.Where(c => c.Column1== Value1)
.Select(c => c.Column2.Replace("~", "~" + Environment.NewLine)).ToList());
不起作用的查询:
string.Join("",Context.Table1.Where(c => c.Column1== Value1)
.Select(c => c.Column2.Replace("~", "~" + (char)(13) + (char)(10)).ToList());
它们之间的唯一区别是Environment.NewLine和(char)(13)+(char)(10)
您知道C#char是16位吗?因此,例如与c ++不同。
您应使用:((对于您的应用程序)] >>
string.Join("",Context.Table1.Where(c => c.Column1== Value1)
.Select(c => c.Column2.Replace("~", "~" + "\r" + "\n").ToList());