The current implementation of IgnoreCase does not include an option for invariant culture.
This caused an issue for us, since some of our users have their Windows regional settings set to Turkish. Turkish has a dotted and a dotless version of the letter "i", which means that using a simple ToLower for the character comparison was not working and the parsing was failing.
To see the issue, set your regional settings to Turkish and run this line of code:
char.ToLower('I') == char.ToLower('i')
For my project, I've created a new method that does the same logic but uses ToLowerInvariant() to resolve the issue.
The current implementation of IgnoreCase does not include an option for invariant culture.
This caused an issue for us, since some of our users have their Windows regional settings set to Turkish. Turkish has a dotted and a dotless version of the letter "i", which means that using a simple
ToLowerfor the character comparison was not working and the parsing was failing.To see the issue, set your regional settings to Turkish and run this line of code:
char.ToLower('I') == char.ToLower('i')For my project, I've created a new method that does the same logic but uses
ToLowerInvariant()to resolve the issue.