You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将字典转ExpandoObject时自动把布尔值转为字符串?

解决方案

你只需在遍历字典向ExpandoObject添加元素时,判断值的类型是否为bool,若是则将其转换为小写字符串形式("true"/"false"),否则直接保留原值即可。修改后的代码如下:

Dictionary<string, object> myDictionary = new Dictionary<string, object>();
myDictionary.Add("FName", "John");
myDictionary.Add("LName2", "Walter");
myDictionary.Add("Coke", true);
myDictionary.Add("Pepsi", false);

var merge_fields = new ExpandoObject() as IDictionary<string, Object>;

foreach (var property in myDictionary)
{
    // 判断值是否为布尔类型,是则转成对应字符串
    var valueToAdd = property.Value is bool boolValue 
        ? boolValue.ToString().ToLower() 
        : property.Value;
    
    merge_fields.Add(property.Key, valueToAdd);
}

关键说明

  • 用is运算符直接判断值类型并完成类型转换,避免额外强制转换操作
  • 调用ToString().ToLower()确保输出标准小写的"true"/"false",匹配示例需求
  • 非布尔类型的值保持原样添加,不影响其他数据类型的处理

内容的提问来源于stack exchange,提问作者Mr Sumo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 19:01:21