本帖最后由 rzt_tao 于 2017-7-4 00:43 编辑
根据反射获取实体集中不全为0的实体元素名,最简单的方式直接用两个foreach循环就搞定,或者利用简单明了的linq,其中可以用linq的查询表达式或者查询操作符搞定。如果要获取全为0的元素名,可以排除元素集合中不包含不全为0的元素名即可。
eg:
[C#] 纯文本查看 复制代码 public class Example {
public int num1 { get; set; }
public int? num2 { get; set; }
public int num3 { get; set; }
}
public static void Test()
{
List<Example> list = new List<Example>() {
new Example() { num1 = 0, num2 = null, num3 = 1 },
new Example() { num1 = 0,num2 = 0,num3 = 0},
new Example() { num1 = 0,num2 = 1,num3 = 1}
};
var cols = GetNoZeroColumns<Example>(list);
//cols结果包含num2,num3
}
形象一点
num1 num2 num3
0 1 1
0 0 0
0 1 1
获取不全为0的字段名 上列结果为 num2,num3
评分可以查看代码
|