1.List  GroupBy 用法

  1. var _roomProducts = homesingProducts.GroupBy(t => t.RoomName);
  2. RoomedProducts temp = new RoomedProducts();
  3. foreach (var item in _roomProducts)
  4. {
  5. roomNames.Add(item.Key);
  6.  
  7. temp = new RoomedProducts();
  8. temp.RoomName = item.Key;
  9. temp.Products = new List<TempProductInfo>();
  10. temp.Products.AddRange(item);
  11.  
  12. roomedProducts.Add(temp);
  13. }

2.枚举类配合反射使用(避免到处出现  order.state == 50   order.statedesc =="已付款"  等等带有常量的代码)

  1. public enum DesignOrderState
  2. {
  3.  
  4. /// <summary>
  5. /// 待付款
  6. /// </summary>
  7. [Description("待付款")]
  8. WaitPaying = ,
  9.  
  10. /// <summary>
  11. /// 已付款
  12. /// </summary>
  13. [Description("已付款")]
  14. Paid = ,
  15.  
  16. /// <summary>
  17. /// 设计中
  18. /// </summary>
  19. [Description("设计中")]
  20. Designing = ,
  21.  
  22. /// <summary>
  23. /// 已交付
  24. /// </summary>
  25. [Description("已交付")]
  26. Completed = ,
  27.  
  28. }
  29.  
  30. /// <summary>
  31. /// 根据类名获取所有public属性名和特性Description
  32. /// </summary>
  33. /// <param name="className">类名</param>
  34. /// <returns>Dictionary<属性名,Description></returns>
  35. public static Dictionary<string, string> ReflectFiledsNameByClassName(string className)
  36. {
  37. Dictionary<string, string> result = new Dictionary<string, string>();
  38. Type t = Type.GetType(className);
  39. PropertyInfo[] properties = t.GetProperties();
  40. string attr = "";
  41. foreach (var item in properties)
  42. {
  43. foreach (Attribute _attr in Attribute.GetCustomAttributes(item))
  44. {
  45. if (_attr.GetType() == typeof(DescriptionAttribute))
  46. {
  47. attr = ((DescriptionAttribute)_attr).Description;
  48. }
  49. }
  50. result.Add(item.Name, attr);
  51. attr = "";
  52. }
  53. return result;
  54. }
  55.  
  56. /// <summary>
  57. /// 获取枚举类的字段名及值
  58. /// </summary>
  59. /// <param name="type"> typeof(枚举类) </param>
  60. /// <returns></returns>
  61. public static Dictionary<string, int> ReflectEnumFiledAndValues(Type type)
  62. {
  63. Dictionary<string, int> result = new Dictionary<string, int>();
  64.  
  65. FieldInfo[] properties = type.GetFields();
  66. foreach (var item in properties)
  67. {
  68. try
  69. {
  70. result.Add(item.Name, (int)(Enum.Parse(type, item.Name)));// 得到的第一个属性是 value_ 暂时还不知道为什么
  71. }
  72. catch (Exception)
  73. {
  74.  
  75. }
  76. }
  77. return result;
  78.  
  79. }
  80.  
  81. /// <summary>
  82. /// 根据枚举类的字段名获取特性Description中的中文描述信息
  83. /// </summary>
  84. /// <param name="className">枚举类名 示:SoftOrderState</param>
  85. /// <param name="filedName">枚举类字段名 示:(SoftOrderState)30 </param>
  86. /// <returns></returns>
  87. public static string ReflectFiledsNameByEnumClassName(string className, string filedName)
  88. {
  89. string result = "";
  90. Type t = Type.GetType(className);
  91. FieldInfo[] properties = t.GetFields();
  92. int length = properties.Length;
  93. for (int i = ; i < length; i++)
  94. {
  95. if (properties[i].Name == filedName)
  96. {
  97. DescriptionAttribute attr = Attribute.GetCustomAttribute(properties[i],
  98. typeof(DescriptionAttribute), false) as DescriptionAttribute;
  99. result = attr.Description;
  100. break;
  101. }
  102. }
  103.  
  104. return result;
  105. }
  106.  
  107. Dictionary<string, string> fileds = new Dictionary<string, string>();
  108. Dictionary<string, int> filedValues = new Dictionary<string, int>();
  109.  
  110. ReflectFiledsNameByEnumClassName(className, SoftOrderState.Sending.ToString())); //属性 找 Description
  111.  
  112. ReflectFiledsNameByEnumClassName(className,((SoftOrderState)).ToString())); // 值 找 Description
  113.  
  114. (int)((Enum.Parse(typeof(SoftOrderState), "Sending")))); // 属性 to 值
  115.  
  116. fileds = ReflectFiledsNameByClassName(className); //类名 找 属性名及对应的Description
  117.  
  118. filedValues = ReflectEnumFiledAndValues(typeof(SoftOrderState));// 返回 所有字段和值的键值对
  1. public enum EnumWorkTypes
  2. {
  3. 家居住宅,
  4. 酒店,
  5. 别墅住宅,
  6. 办公室,
  7. 酒吧KTV
  8. }
  9.  
  10. var types = "";
  11. var typs = typeof(EnumWorkTypes).GetFields(System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public);
  12. foreach (var fi in typs)
  13. types += "<li value=" + fi.Name + ">" + fi.Name + "</li>";
  14.  
  15. Response.Write(types);

3.正则备忘

  1. var password = $("#password").val();
  2. if (!(/^[\w\d.,\?]{5,15}$/).test(password)) {
  3. alert("密码不能输入特殊字符并且长度为5到15");
  4. return;
  5. }
  6.  
  7. // 正则用 ^ 跟 $ 包起来表示匹配本身 (要限制长度必须包起来) ,如果不包就表示字符串中匹配到5-15长度的一段字符,条件就为真
  1. // 手机号码
  2.  
  3. var mobile = $("#mobile").val();
  4. if (!(/^1[34578]\d{9}$/.test(mobile))) {
  5. alert('手机号码格式错误!');
  6. return ;
  7. }
  1. // 生成随机字符串
  2.  
  3. function generateAccountAndPwd() {
  4. var x = 1000000;
  5. var y = 1;
  6. // var rand1 = String.fromCharCode(Math.floor(Math.random() * 26) + "A".charCodeAt(0)) + String.fromCharCode(Math.floor(Math.random() * 26) + "A".charCodeAt(0)) + parseInt(Math.random() * (x - y + 1) + y) + String.fromCharCode(Math.floor(Math.random() * 26) + "A".charCodeAt(0)) + parseInt(Math.random() * (x - y + 1) + y) + String.fromCharCode(Math.floor(Math.random() * 26) + "A".charCodeAt(0));
  7.  
  8. var rand2 = String.fromCharCode(Math.floor(Math.random() * 26) + "a".charCodeAt(0)) + parseInt(Math.random() * (x - y + 1) + y) + String.fromCharCode(Math.floor(Math.random() * 26) + "a".charCodeAt(0));
  9. $("#password").val(rand2);
  10.  
  11. };

4.搜索配下拉布局

List GroupBy真实用法,Reflection(反射)用法,Enum用法,正则,搜索下拉布局的更多相关文章

  1. MVC图片上传详解 IIS (安装SSL证书后) 实现 HTTP 自动跳转到 HTTPS C#中Enum用法小结 表达式目录树 “村长”教你测试用例 引用provinces.js的三级联动

    MVC图片上传详解   MVC图片上传--控制器方法 新建一个控制器命名为File,定义一个Img方法 [HttpPost]public ActionResult Img(HttpPostedFile ...

  2. 简学Python第七章__class面向对象高级用法与反射

    Python第七章__class面向对象高级用法与反射 欢迎加入Linux_Python学习群  群号:478616847 目录: Python中关于oop的常用术语 类的特殊方法 元类 反射 一.P ...

  3. Java Enum用法详解

    Java Enum用法详解 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举 ...

  4. Java反射的常见用法

    反射的常见用法有三类,第一类是“查看”,比如输入某个类的属性方法等信息,第二类是“装载“,比如装载指定的类到内存里,第三类是“调用”,比如通过传入参数,调用指定的方法. 1 查看属性的修饰符.类型和名 ...

  5. Java Reflection 反射基础

    反射基础: package reflection; /** * Created by : Infaraway * DATE : 2017/3/2 * Time : 23:06 * Funtion : ...

  6. 代替Reflection(反射)的一些方法

    Reflection(反射)是深入学习.Net必须掌握的技能之一.最初学Reflection的时候,的确是被惊住了,原来还可以这样.只要给你一个Assembly, 你就能获取到其中所有的类型,根据类型 ...

  7. 代替Reflection(反射)的一些方法(转)

    作者:JustRun 林肯: http://www.cnblogs.com/JustRun1983/p/3830764.html 代替Reflection(反射)的一些方法(转) 2014-07-08 ...

  8. Android-PullToRefresh下拉刷新库基本用法

    How:(使用) 转自:http://blog.csdn.net/hantangsongming/article/details/42490277 PullToRefresh是一套实现非常好的下拉刷新 ...

  9. 子查询。ANY三种用法。ALL两种用法。HAVING中使用子查询。SELECT中使用子查询。

    子查询存在的意义是解决多表查询带来的性能问题. 子查询返回单行多列: ANY三种用法: ALL两种用法: HAVING中的子查询返回单行单列: SELECT中使用子查询:(了解就好,避免使用这种方法! ...

随机推荐

  1. json字符串CSS格式化

    其实JSON.stringify本身就可以将JSON格式化,具体的用法是: JSON.stringify(res, null, 2); //res是要JSON化的对象,2是spacing 如果想要效果 ...

  2. Django 多数据库支持

    很多时候,需要去其他数据库查询数据,都将会面临多数据库支持问题. 1.在settings文件内添加多数据库连接 DATABASES = { 'default': { 'ENGINE': 'django ...

  3. SpringBoot使用Redis共享用户session信息

    SpringBoot引入Redis依赖: <dependency> <groupId>org.springframework.boot</groupId> < ...

  4. 第八节,Opencv的基本使用------存取图像、视频功能、简单信息标注工具

    1.存取图像 import cv2 img=cv2.imread('test.jpg') cv2.imwrite('test1.jpg',img) 2.图像的仿射变换 图像的仿射变换涉及图像的形状位置 ...

  5. ASP .NET Core HTTP Error 502.5 – Process Failure

    页面返回错误 事件日志显示错误 大家可以先看着个链接 https://docs.microsoft.com/en-us/aspnet/core/publishing/iis?tabs=aspnetco ...

  6. 斜率优化dp 的简单入门

    不想写什么详细的讲解了...而且也觉得自己很难写过某大佬(大米饼),于是建议把他的 blog 先看一遍,然后自己加了几道题目以及解析...顺便建议看看算法竞赛(蓝皮书)的 0x5A 斜率优化(P294 ...

  7. lnmp.org 安装环境的,root权限都没法删除网站文件夹,问题解决-转

    rm -rf删除网站目录时出现rm: cannot remove `.user.ini': Operation not permitted rm -rf删除网站目录时出现rm: cannot remo ...

  8. Task.Run与Task.Factory.StartNew的区别

    Task是可能有延迟的工作单元,目的是生成一个结果值,或产生想要的效果.任务和线程的区别是:任务代表需要执行的作业,而线程代表做这个作业的工作者. 在.Net 4中,Task.Factory.Star ...

  9. 2019 Android 高级面试题总结 从java语言到AIDL使用与原理

    说下你所知道的设计模式与使用场景 a.建造者模式: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 使用场景比如最常见的AlertDialog,拿我们开发过程中举例,比如C ...

  10. C语言学习及应用笔记之六:C语言extern关键字及其使用

    在C语言中,修饰符extern用在变量或者函数的声明前,用来以标识变量或者函数的定义在别的文件中,提示编译器遇到此变量或者函数时,在其它文件中寻找其定义.extern关键字的用法有几种,我们下面对其进 ...