string.ToLower() and string.ToLowerInvariant()
有什么区别,什么时候用什么?如果我总是使用tolower()有什么风险?如果我总是使用tolowerinvariant()有什么风险?
根据当前的区域性,Tolower可能会生成一个您不期望的特定于区域性的小写字母。例如在i上不带点而不是
有关此问题的示例,请参见此问题:c-tolower()有时会从字母"i"中删除点。
我认为这是有用的:
http://msdn.microsoft.com/en-us/library/system.string.tolowerinvariant.aspx
更新
If your application depends on the case of a string changing in a predictable way that is unaffected by the current culture, use the ToLowerInvariant method. The ToLowerInvariant method is equivalent to ToLower(CultureInfo.InvariantCulture). The method is recommended when a collection of strings must appear in a predictable order in a user interface control.
也
...ToLower is very similar in most places to ToLowerInvariant. The documents indicate that these methods will only change behavior with Turkish cultures. Also, on Windows systems, the file system is case-insensitive, which further limits its use...
http://www.dotnetperls.com/tolowerinvariant-toupperinvariant
高温高压
DR:
使用"内容"(例如文章、帖子、评论、姓名、地点等)时,请使用
实例:
=错误使用
在土耳其语中,
=错误使用EDOCX1[12]=
现在假设您正在编写一个SQL解析器。在某个地方,您将得到如下代码:
1 2 3 4 | if(operator.ToLower() =="like") { // Handle an SQL LIKE operator } |
当您更改区域性时,SQL语法不会更改。法国人不写"EDOCX1"(13),而写"EDOCX1"(14)。然而,为了使上述代码生效,土耳其人需要编写