具有区域性不变的 Linq 查询

问题描述 投票:0回答:0

我通过集合获取大量对象类型数据作为输入。 我正在尝试通过用逗号连接这些项目来形成查询。

在选择查询中,我执行一些操作,例如空检查等。

这在英语中效果很好。但是,当以法语/西班牙语运行时,由于逗号作为 DecimalSeparator,我得到的值是逗号而不是点。

如果不解析 double、float、decimal 类型,是否还有其他选项可以使其成为 CultureInvariant?

示例程序:

    var dict = new Dictionary<int, object>()
    {
        { 1, "abc" },
        { 2, "def" },
        { 3, 33 },
        { 4, 44 },
        { 5, 5.5 },
        { 6, 6.6 }
    };
    return string.Join(",", dict.Values.Select(x => x));

英文返回: abc,def,33,44,5.5,6.6

西班牙语: abc,def,33,44,5,5,6,6

如何在不解析每种特定类型的情况下获得与英语相同的结果,无论文化如何?

.net linq culture
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.