【问题标题】:Where has StringComparison.InvariantCultureIgnoreCase gone?StringComparison.InvariantCultureIgnoreCase 去哪儿了?
【发布时间】:2013-01-30 09:37:42
【问题描述】:

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

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

InvariantCultureInvariantCultureIgnoreCase 已从 StringComparison 中删除 (*)。

为什么?

我该如何替换它?

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

【问题讨论】:

标签: c# .net windows-store-apps


【解决方案1】:

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

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

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

  • 当前文化
  • CurrentCultureIgnoreCase
  • 序数
  • OrdinalIgnoreCase

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

【讨论】:

  • 谢谢,现在我知道要找什么了(绿色购物袋)。
  • 我知道;这就是我所说的“删除”。但是为什么以及如何替换它。这是我的问题。
  • 替换不是一种选择,它们在框架中不存在。您必须选择该框架支持的其他选项之一。至于为什么,我不太确定,以前没有深入研究过。
【解决方案2】:

它似乎不支持 Windows Store App。

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

一般情况下,人们在这种情况下使用OrdinalIgnoreCase

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-03
    • 2014-03-15
    • 2015-07-17
    • 2012-10-30
    • 2013-05-23
    • 1970-01-01
    • 2012-03-13
    • 1970-01-01
    相关资源
    最近更新 更多