20

我正在将 C# 代码移植到 Windows 应用商店应用程序。令我惊讶的是,以下代码不再起作用:

someString.Equals("someOtherString", StringComparison.InvariantCultureIgnoreCase)

InvariantCultureInvariantCultureIgnoreCase已从 中删除(*)StringComparison

为什么?

我该如何更换它?

编辑: (*) 严格来说,它并没有被删除,它只是不适用于 Windows 应用商店应用程序。结果是一样的:你不能使用它。

4

2 回答 2

17

这些特定选项并没有消失,但它们只是不受 Windows 应用商店应用程序的支持。

如果您查看 MSDN for StringComparison Enumeration,您会发现 Portable library 或 .NET for Windows Store 不支持这些特定选项。

便携式库或 Windows 应用商店应用程序支持的唯一选项是:

  • 当前文化
  • 当前文化忽略案例
  • 序数
  • 序数忽略大小写

我无法说明原因,但没有“替换”选项,因为框架中不存在这些值。您必须使用确实存在的其他选项之一,这StringComparison.OrdinalIgnoreCase可能是最容易使用的。

于 2013-01-30T09:42:44.320 回答
5

看起来它不支持 Windows Store App。

对于 Windows 应用商店应用,仅可与绿袋枚举一起使用;

在此处输入图像描述

对于一般的想法,人们OrdinalIgnoreCase在这种情况下使用。

https://github.com/loqu8/sqlite-net/commit/bfa04a6a40b4f62000bb9c57d5517643404c9109

于 2013-01-30T09:48:29.053 回答