Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.Net区域性不敏感比较-需要时的示例_.net - Fatal编程技术网

.Net区域性不敏感比较-需要时的示例

.Net区域性不敏感比较-需要时的示例,.net,.net,我正在修改MCTS示例,并在一个关于文化不敏感比较的小部分中进行修改。我明白这个原则,你不需要两个相同的项目(即日期),但显示方式不同,因此在语用上标记为不同 尽管你说我蠢,但我发现很难看出我可以在哪里使用它。例如,为什么你会有两个不同的约会时间,在相同的代码中,它们是不同的文化?唯一的方法是手动覆盖其中一个数据类型区域性,为什么要这样做 有没有关于文化不敏感比较在现实世界中应用的例子 干杯您可能希望将用户输入(可以在不同的区域性中)与代码中设置的引用字符串进行比较 文化不变性比较的经典用例之一

我正在修改MCTS示例,并在一个关于文化不敏感比较的小部分中进行修改。我明白这个原则,你不需要两个相同的项目(即日期),但显示方式不同,因此在语用上标记为不同

尽管你说我蠢,但我发现很难看出我可以在哪里使用它。例如,为什么你会有两个不同的约会时间,在相同的代码中,它们是不同的文化?唯一的方法是手动覆盖其中一个数据类型区域性,为什么要这样做

有没有关于文化不敏感比较在现实世界中应用的例子


干杯

您可能希望将用户输入(可以在不同的区域性中)与代码中设置的引用字符串进行比较

文化不变性比较的经典用例之一是。 假设您的应用程序中有一个文本框,它通过检查URL协议是否以
http://
ftp://
file://
开头来验证URL协议。如果你写:

inputUrl.StartsWith("FILE://", StringComparison.CurrentCultureIgnoreCase)
并且用户输入是
file://test
,它将在具有英语区域设置的机器上工作(更准确地说,线程的
CurrentCulture
),但如果区域设置为土耳其语,测试将失败,因为
文件的大写版本://
将使用土耳其语字母
FİLE://

在这些情况下,我们希望使用不变区域性匹配字符串:

inputUrl.StartsWith("FILE://", StringComparison.InvariantCultureIgnoreCase)

一般来说,当你想要对输入数据进行比较时,输入在程序中有特定的语义(它代表URL、资源键、……),而不是简单地用于显示目的或存储和检索,你应该考虑使用<代码>不变的文化< /代码>。 您可能希望将用户输入(可以在不同的区域性中)与代码中设置的引用字符串进行比较

文化不变性比较的经典用例之一是。 假设您的应用程序中有一个文本框,它通过检查URL协议是否以
http://
ftp://
file://
开头来验证URL协议。如果你写:

inputUrl.StartsWith("FILE://", StringComparison.CurrentCultureIgnoreCase)
并且用户输入是
file://test
,它将在具有英语区域设置的机器上工作(更准确地说,线程的
CurrentCulture
),但如果区域设置为土耳其语,测试将失败,因为
文件的大写版本://
将使用土耳其语字母
FİLE://

在这些情况下,我们希望使用不变区域性匹配字符串:

inputUrl.StartsWith("FILE://", StringComparison.InvariantCultureIgnoreCase)

一般来说,当你想要对输入数据进行比较时,输入在程序中有特定的语义(它代表URL、资源键、……),而不是简单地用于显示目的或存储和检索,你应该考虑使用<代码>不变的文化< /代码>。 考虑一个本地化的网站。
在美国,日期约定为mm/dd/yyyy,而在欧洲,日期约定为dd/mm/yyyy。

想想本地化的网站。 在美国,日期约定为mm/dd/yyyy,在欧洲,日期约定为dd/mm/yyyy

例如,为什么在同一代码中有两个不同的日期时间,它们是不同的文化

一种方法是,如果在某个地方(文件、注册表)持久化DateTime值。如果两个具有不同区域性的用户访问同一个文件/注册表项,则您希望其格式独立于其区域性

例如,为什么在同一代码中有两个不同的日期时间,它们是不同的文化

一种方法是,如果在某个地方(文件、注册表)持久化DateTime值。如果两个具有不同区域性的用户访问同一个文件/注册表项,则您希望其格式独立于其区域性