带有格式提供程序的 Expression.ToString()
是否可以转换像 x => 这样的 lambda 表达式? x + 1.5
使用特定区域性/格式选项来字符串?我知道我可以这样做:
Expression<Func<double,double>> expr = x => x + 1.5;
string s = expr.Body.ToString();
但是通过某些应用程序语言设置,它给出的 s
等于 "x + 1,5"
(用逗号而不是点)。看来 ToString() 获取当前的文化信息。
如何以文化不变的原始形式恢复字符串?
Is it possible to convert a lambda expression like x => x + 1.5
to string using specific culture/format options? I know I can do:
Expression<Func<double,double>> expr = x => x + 1.5;
string s = expr.Body.ToString();
But with some app language settings it gives s
equal to "x + 1,5"
(with a comma instead of a dot). It seems that ToString() takes current culture info.
How to get back the string in its original form, culture-invariant?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
有一种方法可以做到,但它真的很难看......只是暂时改变当前的文化:
There is a way to do it, but it's really ugly... just change the current culture temporarily: