在此上下文中仅支持原始类型或枚举类型C#链接

问题描述 投票:0回答:1

我有一个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# linq
1个回答
0
投票

您知道C#char是16位吗?因此,例如与c ++不同。

您应使用:((对于您的应用程序)] >>

string.Join("",Context.Table1.Where(c => c.Column1== Value1)
   .Select(c => c.Column2.Replace("~", "~" + "\r" + "\n").ToList());
© www.soinside.com 2019 - 2024. All rights reserved.