Cub*_*key 6 .net c# silverlight
我问的原因是因为我写了一个扩展方法在Silverlight中使用只是为了找出该功能神奇地开始为银光工作.
例
string sentence = "I am a sentence that has some words";
sentence.Contains("N"); //would return false, silverlight true
sentence.Contains("n"); //would return true, silverlight true
Run Code Online (Sandbox Code Playgroud)
为什么Silverlight框架中有一个特殊的System dll,它将比较作为不区分大小写的?
我已经遇到了大量的方法,它们有点令人讨厌,它们要么行为不同,要么一般都缺失.
我之所以问这个问题,是因为我编写了一个在 Silverlight 中使用的扩展方法,结果却发现该功能神奇地开始为 Silver Light 工作。
有一种方法适用于2.0public bool string.Contains(string)及以上的所有 .NET 版本(2.0、3.0、3.5、4.0 、 SL 3/4 WP 7.0/ 7.1)。
有趣的是,SL 版本仅从 SL 3 / 4 列出 -您是否有可能从 2.0 解决方案更新?这就能解释这一点。
否则,定义的方法始终优先于扩展方法,因此永远不应该调用扩展方法(我们可以排除 .NET 1.1,因为 C# 1.2 编译器不包含扩展方法)。
对于 .NET 2.0,MSDN 将其记录为:
此方法使用当前区域性执行单词(区分大小写和区域性)搜索。搜索从该字符串的第一个字符位置开始,一直到最后一个字符位置。
所有其他版本(包括 Silverlight)均列出为:
此方法执行序数(区分大小写且不区分区域性)比较。搜索从该字符串的第一个字符位置开始,一直到最后一个字符位置。
如果您看到其他情况(请高音检查),这可能是一个框架错误......但我谨慎地期待一个更简单的解释。
| 归档时间: |
|
| 查看次数: |
337 次 |
| 最近记录: |