c# 常用 Common
/// <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的更多相关文章
- 常用Common集合
Log using System; using System.IO; using System.Linq; using System.Text; namespace Common { public c ...
- LAMP架构(二)
第十八次课 LAMP架构(二) 目录 一.Apache默认虚拟主机 二.Apache用户认证 三.域名跳转 四.Apache访问日志 五.访问日志不记录静态文件 六.访问日志切割 七.静态元素过期时间 ...
- ASP.NET中常用的几个李天平开源公共类LTP.Common,Maticsoft.DBUtility,LtpPageControl
ASP.NET中常用的几个开源公共类: LTP.Common.dll: 通用函数类库 源码下载Maticsoft.DBUtility.dll 数据访问类库组件 源码下载LtpPageC ...
- 常用js方法整理common.js
项目中常用js方法整理成了common.js var h = {}; h.get = function (url, data, ok, error) { $.ajax({ url: url, data ...
- ASP.NET中常用的几个李天平开源公共类LTP.Common,Maticsoft.DBUtility,LtpPageControl (转)
ASP.NET中常用的几个开源公共类: LTP.Common.dll: 通用函数类库 源码下载Maticsoft.DBUtility.dll 数据访问类库组件 源码下载LtpPageC ...
- 项目中常用js方法整理common.js
抽空把项目中常用js方法整理成了common.js,都是网上搜集而来的,大家一起分享吧. var h = {}; h.get = function (url, data, ok, error) { $ ...
- Linux 常用命令 (common commands for linux)
Linux 常用命令 (Common Commands For Linux) 1.声明,此文章仅写基于 Bash shell 常用的命令,如果遇上命令在使用过程中提示没有,可能随着更新,命令也被替换掉 ...
- selenium.webdriver.common.keys 模块中常用的变量
表11-5 selenium.webdriver.common.keys 模块中常用的变量属性 含义Keys.DOWN, Keys.UP, Keys.LEFT,Keys.RIGHT 键盘箭头键Keys ...
- DIDAO.Common --- 项目中的常用类及其中函数
常用函数: CommonHelper.cs using System; using System.Collections.Generic; using System.IO; using System. ...
随机推荐
- react 引入 百度地图API
使用 Echarts 的地图的时候,发现报错,说 Bmap api is not loaded 百度地图API没有加载 乍一想,Echarts 用的也是 百度地图 啊,没有引入百度地图,还用个啥,当然 ...
- Android学习笔记(14):相对布局RelativeLayout
相对布局RelativeLayout,继承自ViewGroup.相对布局的子组件的位置总是相对于兄弟组件或者父容器决定的. RelativeLayout支持的XML属性: android:gravit ...
- [RK3288][Android6.0] 系统按键驱动流程分析【转】
本文转载自:http://blog.csdn.net/kris_fei/article/details/77894406 Rockchip的按键驱动位于 kernel/drivers/input/ke ...
- Android源码的下载、编译与导入到Android Studio【转】
本文转载自:http://wl9739.github.io/2016/05/09/Android%E6%BA%90%E7%A0%81%E7%9A%84%E4%B8%8B%E8%BD%BD%E3%80% ...
- confusion_matrix函数的使用
from:http://blog.csdn.net/m0_38061927/article/details/77198990 官方文档中给出的用法是 sklearn.metrics.confusion ...
- AT2004 Anticube
https://www.zybuluo.com/ysner/note/1304774 题面 给定\(n\)个数\(s_i\),要求从中选出最多的数,满足任意两个数之积都不是完全立方数. \(n\leq ...
- STM32: TIMER门控模式控制PWM输出长度
搞了两天单脉冲没搞定,无意中发现,这个利用主从模式的门控方式来控制一路PWM的输出长度很有效. //TIM2 PWM输出,由TIM4来控制其输出与停止 //frequency_tim2:TIM2 PW ...
- sql复杂查询语句总结
转自:http://blog.csdn.net/fengfeng91/article/details/15029173 create table student( sno varchar2(10) p ...
- 关于file文件操作的头文件 【LINUX】 (转载)
转自:http://blog.csdn.net/figo77ll/article/details/3156052 Linux下如果要对文件进行读取访问,需要包含至少以下两个头文件: #inlcude ...
- Swift5.1 语言指南(二十九)高级运算符
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...