c# - 搜索并替换具有多个属性的对象中的值......C#

标签 c#

当我调用数据库时,我有一个对象被填充。返回的结果包含文字字符串“NULL”。我的对象中有大约 40 个已填充的属性。如何循环将所有带有字符串“NULL”的对象替换为空字符串,而不用像这样的古老方式:

var ttt =  GetTheData();

foreach (var t in ttt)
{
    if (t.AddressLine1 == "NULL") t.AddressLine1 = string.Empty;
    if (t.City == "NULL") t.City = string.Empty;
   //so forth and so on
}

不,我无法控制返回的数据。所以是的,合乎逻辑的方法是在数据库级别修复它。我希望有人遇到过这个问题并找到更好的解决方案。顺便说一句,我正在使用.NET 4.0。提前致谢

最佳答案

var ttt =  GetTheData();

foreach (var t in ttt)
{
    var properties = t.GetType().GetProperties();
    foreach(var p in properties){
       if(p.PropertyType.Name.Equals("String")){
          if(p.GetValue(t,null).ToString() == "NULL")
             p.SetValue(t,string.Empty,null);
       }
    }
}

关于c# - 搜索并替换具有多个属性的对象中的值......C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32617913/

相关文章:

c# - BindingFlags - 获取所有这些(最大成员数)

c# - 迭代字符数组时检查两个条件

c# - 连接字符串时,razor 不接受空格作为第一个字符吗?

c# - 是否有支持混合 C++ 和 C# 应用程序的崩溃报告服务?

用于匹配 "ABAB"、 "AABB"、 "ABB"、 "AAB"、 "ABAC"和 "ABCB"的 C# 正则表达式

c# - 是否有模拟 facebook 的 "Link Detect"的库?

c# - 我怎么知道数据库中是否存在这样的值? (ADO.NET)

c# - 加密 Azure Function 中的服务总线连接字符串

c# - 在 XAML 中指定自定义转换器

C# .Net MysqlConnector ConnectionString 密码问题/问题