/// <summary>
/// md5加密字符串
/// </summary>
/// <param name="message"></param>
/// <returns></returns>
public static String ToMD5(this String message)
{
MD5 md5 = new MD5CryptoServiceProvider();
byte[] result = Encoding.UTF8.GetBytes(message);
byte[] outStr = md5.ComputeHash(result);
string md5string = BitConverter.ToString(outStr).Replace("-", "");
return md5string;
}
        /// <summary>
/// 按字节数截取字符串的方法
/// </summary>
/// <param name="source">要截取的字符串(可空)</param>
/// <param name="NumberOfBytes">要截取的字节数</param>
/// <param name="encoding">System.Text.Encoding</param>
/// <param name="suffix">结果字符串的后缀(超出部分显示为该后缀)</param>
/// <returns></returns>
public static string SubStringByBytes(this string source, int NumberOfBytes, System.Text.Encoding encoding, string suffix = "")
{
if (string.IsNullOrWhiteSpace(source) || source.Length == )
return source; if (encoding.GetBytes(source).Length <= NumberOfBytes)
return source; long tempLen = ;
StringBuilder sb = new StringBuilder();
foreach (var c in source)
{
Char[] _charArr = new Char[] { c };
byte[] _charBytes = encoding.GetBytes(_charArr);
if ((tempLen + _charBytes.Length) > NumberOfBytes)
{
if (!string.IsNullOrWhiteSpace(suffix))
sb.Append(suffix);
break;
}
else
{
tempLen += _charBytes.Length;
sb.Append(encoding.GetString(_charBytes));
}
}
return sb.ToString();
}
        /// <summary>
/// 复制一个对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="info"></param>
/// <returns></returns>
public static T Copy<T>(T info) where T : new()
{
string json = JsonHelper.SerializeObject(info);
return JsonConvert.DeserializeObject<T>(json);
}
        /// <summary>
/// 对象转Json字符串
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="data"></param>
/// <returns></returns>
public static string ToJson<T>(T data) where T : new()
{
return JsonHelper.SerializeObject(data);
}
        /// <summary>
/// 实体类转Dictionary
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="info"></param>
/// <returns></returns>
public static Dictionary<string,string> ModelToDictionary<T>(this T info)
{
Dictionary<string, string> dic = new Dictionary<string, string>();
foreach (PropertyInfo pro in typeof(T).GetProperties())
{
string value = pro.GetValue(info, null)?.ToString();
string name = pro.Name;
if (string.IsNullOrEmpty(value)) continue;
if (name == "Type") continue;
dic.Add(name, value);
}
return dic;
}
        /// <summary>
/// string扩展 rgb 转SolidColorBrush
/// </summary>
/// <param name="rgb"></param>
/// <returns></returns>
public static System.Windows.Media.SolidColorBrush ToSolidColorBrush(this string rgb)
{
try
{
return new System.Windows.Media.SolidColorBrush((System.Windows.Media.Color)System.Windows.Media.ColorConverter.ConvertFromString(rgb));
}
catch (Exception)
{
return System.Windows.Media.Brushes.Red;
}
}

示例:"#999999".ToSolidColorBrush()

原文:https://www.cnblogs.com/zisai/p/11050749.html

c# 常用 Common的更多相关文章

  1. 常用Common集合

    Log using System; using System.IO; using System.Linq; using System.Text; namespace Common { public c ...

  2. LAMP架构(二)

    第十八次课 LAMP架构(二) 目录 一.Apache默认虚拟主机 二.Apache用户认证 三.域名跳转 四.Apache访问日志 五.访问日志不记录静态文件 六.访问日志切割 七.静态元素过期时间 ...

  3. ASP.NET中常用的几个李天平开源公共类LTP.Common,Maticsoft.DBUtility,LtpPageControl

    ASP.NET中常用的几个开源公共类: LTP.Common.dll: 通用函数类库     源码下载Maticsoft.DBUtility.dll 数据访问类库组件     源码下载LtpPageC ...

  4. 常用js方法整理common.js

    项目中常用js方法整理成了common.js var h = {}; h.get = function (url, data, ok, error) { $.ajax({ url: url, data ...

  5. ASP.NET中常用的几个李天平开源公共类LTP.Common,Maticsoft.DBUtility,LtpPageControl (转)

    ASP.NET中常用的几个开源公共类: LTP.Common.dll: 通用函数类库     源码下载Maticsoft.DBUtility.dll 数据访问类库组件     源码下载LtpPageC ...

  6. 项目中常用js方法整理common.js

    抽空把项目中常用js方法整理成了common.js,都是网上搜集而来的,大家一起分享吧. var h = {}; h.get = function (url, data, ok, error) { $ ...

  7. Linux 常用命令 (common commands for linux)

    Linux 常用命令 (Common Commands For Linux) 1.声明,此文章仅写基于 Bash shell 常用的命令,如果遇上命令在使用过程中提示没有,可能随着更新,命令也被替换掉 ...

  8. selenium.webdriver.common.keys 模块中常用的变量

    表11-5 selenium.webdriver.common.keys 模块中常用的变量属性 含义Keys.DOWN, Keys.UP, Keys.LEFT,Keys.RIGHT 键盘箭头键Keys ...

  9. DIDAO.Common --- 项目中的常用类及其中函数

    常用函数: CommonHelper.cs using System; using System.Collections.Generic; using System.IO; using System. ...

随机推荐

  1. web metrics dashboard 数据分析工具 看板 从可视化发现问题 避免sql重复写 调高效率

    <?php$todo = array();$done = array();$h = array();$v = $all['v'];$l = count($v);#19700101 08for ( ...

  2. 一张图轻松记住PHP的*类*以及private和protected的区别

    上图概要的说了下php类的特性,类的方法同属性类似. 图中B类继承自A类,B是A的子类,$x和$y都是B的实例化对象. 1. 原型引用:[A::    . B::   ],仅限public stati ...

  3. ViewPager嵌套ViewPager后子ViewPager滑动不正常问题

    ViewPager嵌套ViewPager后,滑动事件没法在子ViewPager里面响应. 解决办法是自定义子ViewPager. 以下代码是转载的,经本人测试,可以用!!! 转载地址:http://b ...

  4. luogu 3388 【模板】割点(割顶)

    点双. #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> ...

  5. 深入理解JMM(Java内存模型) --(二)重排序

    [转载自并发编程网 – ifeve.com 原文链接:http://ifeve.com/tag/jmm/] 数据依赖性 如果两个操作访问同一个变量,且这两个操作中有一个为写操作,此时这两个操作之间就存 ...

  6. 编译Ruby2.0 问题解决

    compiling readline.creadline.c: In function ‘Init_readline’:readline.c:1886:26: error: ‘Function’ un ...

  7. E20170611-hm

    ascending   adj. 上升的,向上的; ascend   vt. 攀登; 继承; 占领;   vi. 上升; 爬坡; 追溯; descending  n. 递减;  descend   v ...

  8. less新手入门(四)—— Mixin Guards

    八.Mixin Guards 有条件的 mixin 当您想要匹配表达式时,相对于简单的值或特性,Guards是有用的.如果您熟悉函数式编程,您可能已经遇到过它们. 为了尽可能地保持CSS的声明性质,在 ...

  9. 线段树+树状数组+贪心 HDOJ 5338 ZZX and Permutations

    题目传送门 /* 题意:不懂... 线段树+树状数组+贪心:贪心从第一位开始枚举,一个数可以是循环节的末尾或者在循环节中,循环节(循环节内部是后面的换到前面,最前面的换到最后面).线段树维护最大值,树 ...

  10. CentOS6.5磁盘分区和挂载操作记录

    CentOS6.5磁盘分区和挂载操作记录. [root@CentOS ~]# fdisk -l Disk /dev/sda: bytes heads, sectors/track, cylinders ...