C#中使用反射遍历一个对象属性和值以及百分数
对某个类的实例化对象, 遍历获取所有属性(子成员)的方法(采用反射):
using (var context = new YZS_TRAEntities())
{
var entitys = context.医生扩展信息.Where(f => f.医生ID == ).FirstOrDefault();
Type t = entitys.GetType();//获得该类的Type
var pro = t.GetProperties(); //获得此对象的所有字段,字段类型
int a = ;
foreach (PropertyInfo pi in pro) //t.GetProperties获得PropertyInfo[],然后就可以用foreach 遍历了
{
object value = pi.GetValue(entitys, null);//用pi.GetValue获得值
string name = pi.Name;//获得属性的名字,后面就可以根据名字判断来进行些自己想要的操作 if (value != null) a++;
}
var percent = (Convert.ToDouble(a) / Convert.ToDouble(pro.Count())).ToString("P"); //获取百分比(如:60.00%)
}
我们对红色的pro进行监视,可以看到详细信息

百分比中:
ToString("0%");省去了所有的 小数部分(如:60%)
ToString("P%")和ToString("P2%");百分比保留两位小数部分(如:60.66%)
其他情况下:P后面的数字代表小数部分的位数。如P1,P4,P5(分别代表60.2%,60.1232%,60.45312%类似的数据)
C#中使用反射遍历一个对象属性和值以及百分数的更多相关文章
- [C#]反射遍历对象属性
/// <summary> /// C#反射遍历对象属性 /// </summary> /// <typeparam name="T">对象类型 ...
- .NET获取Html字符串中指定标签的指定属性的值
using System.Text; using System.Text.RegularExpressions; //以上为要用到的命名空间 /// <summary> /// 获取Htm ...
- 【转】Json判断是否存在某个属性和遍历各个属性和值
var field='uid'; var jsonObj={uid:'001'}; 一. jsonObj[field] != undefined //注意:如果field值正好是undefined那就 ...
- JavaScript 获取HTML中的CSS样式的属性以及值的的方法。
<body> <div id="wow" style="font-size:10px; float:left"></div> ...
- Object-C反射读取实体属性和值
举例: 首先定义TestModel如下: @interface TestModel : NSObject @property (nonatomic, strong) NSString *name; @ ...
- Java通过IO流输入输出 向文件中存入大量三个属性的值,并通过验证前两个属性输出第三个属性
package ABC1; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import ...
- [c#.net]遍历一个对象中所有的属性和值
利用反射 SpDictItem sp = GetCFHObject.GetSpItem("); PropertyInfo[] propertys = sp.GetType().GetProp ...
- [ArcGIS API for JavaScript 4.8] Sample Code-Popups-1-popupTemplate的概念和popup中属性字段值的多种表现形式
[官方文档:https://developers.arcgis.com/javascript/latest/sample-code/intro-popuptemplate/index.html] 一. ...
- java使用反射给对象属性赋值的两种方法
java反射无所不能,辣么,怎么通过反射设置一个属性的值呢? 主程序: /** * @author tengqingya * @create 2017-03-05 15:54 */ public cl ...
随机推荐
- DDA, Bresenham line's algorithm and Voxel Traversal used in the Grid-Accelerator in PBRT
- DDA(Digital Differential Analyzer, 数值微分法) - 计算机图形学中,经常会遇到一些计算机中”经典“的问题.例如,如何利用计算机”离散“的特质,模拟 ...
- INTEST/EXTEST SCAN 的学习
intest scan的一些基本知识.INTEST scan指的是对IP 内部的scan cell的扫描测试,针对IP内部的flip-flop进行shift/capture的操作.和INTEST SC ...
- Haproxy 重定向跳转设置 - 运维小结
前面已经详细介绍了Haproxy基础知识 , 今天这里再赘述下Haproxy的重定向跳转的设置. haproxy利用acl来实现haproxy动静分离,然而在许多运维应用环境中,可能需要将访问的站点 ...
- tomcat之日志切割
日志分割 场景:日志量比较大,且研发程序没有设置分卷 1.配置样例: 文件路径:/etc/logrotate.d/tomcat /data/logs/catalina.out { daily comp ...
- vue-cli 使用better-scroll
better-scroll api文档https://ustbhuangyi.github.io/better-scroll/doc/zh-hans/ 一:安装better-scroll 插件 cn ...
- 网络之Json生成解析
// // ViewController.m // Json // // Created by City--Online on 15/4/28. // Copyright (c) 2015年 CYW. ...
- dom操作------获取元素的若干方法
// 1,getElementById:返回元素节点document.getElementById(); // 2,getElementsByClassName:返回HTMLCollection对象( ...
- Entity framework 6.0 简明教程 ef6
http://www.entityframeworktutorial.net/code-first/entity-framework-code-first.aspx Ef好的教程 Entity Fra ...
- kooboocms遇到的问题
1.工作流:需要在网站的内容设置里启用工作流,然后添加一个工作流,再在内容文件夹里设置工作流属性(经测试,工作流对网络用户才有效,也就是说必须把用户添加到该网站下) 2.网络用户页面bug:在行 1. ...
- 对datagridview进行增删改(B)
create DATABASE stu ON ( name='stu.mdf', filename='F:\胡浴东\数据库\stu数据库\stu.mdf', size=, filegrowth= ) ...