System.String 方法

LINQ to SQL 不支持以下 String 方法。

一般情况下不支持的 System.String 方法

一般情况下不支持的 String 方法:

  • 区分区域性的重载(带有 CultureInfo / StringComparison / IFormatProvider 的方法)。

  • 带有或生成 char 数组的方法。

不支持的 System.String 静态方法

不支持的 System.String 静态方法
String.Copy(String)
String.Compare(String, String, Boolean)
String.Compare(String, String, Boolean, CultureInfo)
String.Compare(String, Int32, String, Int32, Int32)
String.Compare(String, Int32, String, Int32, Int32, Boolean)
String.Compare(String, Int32, String, Int32, Int32, Boolean, CultureInfo)
String.CompareOrdinal(String, String)
String.CompareOrdinal(String, Int32, String, Int32, Int32)
String.Format
String.Join

不支持的 System.String 非静态方法

不支持的 System.String 非静态方法
String.IndexOfAny(Char[])
String.Split
String.ToCharArray()
String.ToUpper(CultureInfo)
String.TrimEnd(Char[])
String.TrimStart(Char[])

与 .NET 的差异

  • 查询不考虑可能在服务器上生效的 SQL Server 排序规则,因而默认情况下将提供区分区域性和大小写的比较。 此行为不同于 .NET Framework 默认的区分大小写的语义。

  • LastIndexOf 返回 0 时,则说明相应的字符串为 NULL 或找到的位置为 0。

  • 对长度固定的字符串(CHARNCHAR)执行串联或其他运算时,可能会返回意外结果,原因是这些类型会自动在数据库中应用空白。

  • 由于许多方法(如 ReplaceToLowerToUpper)和字符索引器未实现对 TEXTNTEXT 列以及 XML 的有效转换,因此,如果对它们进行正常转换,则会发生 SqlExceptions。 对这些类型而言,这种行为被视为可接受。 但是,所有字符串运算都必须符合 VARCHARNVARCHARVARCHAR(max)NVARCHAR(max) 的公共语言运行库 (CLR) 语义。

请参阅