情况:我有一个元组列表,其中添加了一个元组:
List<Tuple<double, double>> list = new List<Tuple<double, double>>();
list .Add(new Tuple<double, double>(2.2, 6.6));
一切似乎都没问题。但是......在调试模式下,在我看到的本地变量列表中:
[0] {(2,2, 6,6)} System.Tuple<double,double>
顺便说一句,后台动作效果很好:
double t = list[0].Item1;
我得到了:
t 2.2 double
可能它不是一个大问题,但它让我感到沮丧。
为什么会有这样的想法?
答案 0 :(得分:7)
因为调试器以本地(用户)国家格式显示数字,所以它将它们显示为2,2和6,6而不是2.2和6.6。
我知道使用英文版操作系统和Visual Studio的各种工作场所,所以没有类似的问题:-)这显然没有必要,因为你可以......
...在控制面板(国际设置)中更改十进制数字的格式。
答案 1 :(得分:6)
这是因为您的本地文化设置将,
作为小数分隔符。每当.NET尝试将其解析为string
时,它都会使用它来确定要使用的分隔符。
您可以将区域/文化设置更改为英语。你会看到你期望它们的小数分隔符。如果您不想这样做,请不要担心。