C#_数据转换 实用方法
【String转Array】
string str = "123asd456asd789";
单字符: string[] a0 = str.Split('a');
多字符: string[] a1 = Regex.Split(str, @"asd"); //using System.Text.RegularExpressions;
【Array转String】
int[] i = { 12, 34, 123, 4, 12, 123, 54, 5, 122, 23 };
string str=string.Join("",i);
【JSON转List/Class】using Newtonsoft.Json;
使用 JsonConvert.DeserializeObject
string jsonStr = "[{\"id\":1,\"name\":\"liuph1\",\"age\":20},{\"id\":2,\"name\":\"liuph2\",\"age\":21}]";
List<className> ls = JsonConvert.DeserializeObject<List<className>>(jsonStr);
【List/Class转JSON】using Newtonsoft.Json;
使用 JsonConvert.SerializeObject
string jsonStr = JsonConvert.SerializeObject(ls);
【string转byte[]】
byte[] bt = Encoding.UTF8.GetBytes("Hello World!");//string=>byte[]
【byte[]转string】
string str = Encoding.Default.GetString(bt);//byte[]=>string
【URL转码】
string en= HttpUtility.UrlEncode("http://www.baidu.com");
【URL解码】
string de= HttpUtility.UrlDecode(en);
【自定义实体之间的转换】
用explicit来定义. 以下代码 可以实现 test和test1之间的转换。
test1 t1 = new test1();
test t = new test();
t=(test)t1;
t1=(test1)t;
public class test
{
public int Id;
public string Name;
public DateTime Time = DateTime.Now;
public static explicit operator test(test1 t)
{
return new test
{
Id = t.Id,
Name = t.Name + t.Time.ToString("yyyy-MM-dd HH:mm:ss"),
Time = t.Time
};
}
}
public class test1
{
public int Id;
public string Name;
public DateTime Time = DateTime.Now;
public static explicit operator test1(test t)
{
return new test1
{
Id = t.Id,
Name = t.Name + t.Time.ToString("yyyy-MM-dd HH:mm:ss"),
Time = t.Time
};
}
}
获取时间戳
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(, , ));
return (time - startTime).TotalSeconds.ToString("");
集合ToDictionary时key必须唯一,可以用ToLookUp,相当于Dictionary<key,T>或Dictionary<key,List<T>>
var lss = ls.ToLookup(x => x.userId);//ls是一个List
foreach (var item in lss)
{
var key = item.Key;
foreach (var item1 in item)
{
var val = item1.userName + item1.password;
}
}
C#_数据转换 实用方法的更多相关文章
- Repeater为空时显示“暂无数据”,很方便实用方法
Repeater为空时显示“暂无数据”,很方便实用方法 <FooterTemplate> <asp:Label ID="lblEmptyZP" Text=&q ...
- js实用方法记录-js动态加载css、js脚本文件
js实用方法记录-动态加载css/js 附送一个加载iframe,h5打开app代码 1. 动态加载js文件到head标签并执行回调 方法调用:dynamicLoadJs('http://www.yi ...
- js实用方法记录-简单cookie操作
js实用方法记录-简单cookie操作 设置cookie:setCookie(名称,值,保存时间,保存域); 获取cookie:setCookie(名称); 移除cookie:setCookie(名称 ...
- Python中os和shutil模块实用方法集…
Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...
- Python中os和shutil模块实用方法集锦
Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...
- js实用方法记录-指不定哪天就会用到的js方法
js实用方法记录-指不定哪天就会用到的js方法 常用或者不常用都有 判断是否在微信浏览器中 测试代码:isWeiXin()==false /** * 是否在微信中 */ function isWeix ...
- bootstrapValidator.js,最好用的bootstrap表单验证插件 简单实用方法
实用方法 1.引入 在有jquery和bootstrap的页面里引入bootstrapValidator.js和bootstrapValidator.css文件 2. 按照bootstrap的表单组件 ...
- 11.5 Android显示系统框架_Vsync机制_黄油计划_三个方法改进显示系统
5. Vsync机制5.1 黄油计划_三个方法改进显示系统vsync, triple buffering, vsync虚拟化 参考文档:林学森 <深入理解Android内核设计思想>第2版 ...
- javascript代码实用方法实现
javascript代码实用方法实现 针对现在大家平时开发中,都会写一些重复性的js处理代码,今天总结了几个比较常用的方法实现.获取get请求参数.去字符串空格. 1.获取get请求中的参数 ...
随机推荐
- 关于Mesos和Kubernetes的区别
这个主题应该和服务发现注册一样,进入视野...
- 新浪微博的账号登录及api操作
.sina.php <?php /** * PHP Library for weibo.com * * @author */ class sinaPHP { function __constru ...
- AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(二):配置WinClient分布式运行环境
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
- servlet、genericservlet、httpservlet之间的区别
转自:http://blog.csdn.net/rat9912345/article/details/5161789 当编写一个servlet时,必须直接或间接实现servlet接口,最可能实现的方法 ...
- poj 3264 【线段树】
此题为入门级线段树 题意:给定Q(1<=Q<=200000)个数A1A2…AQ,多次求任一区间Ai-Aj中最大数和最小数的差 #include<algorithm> #incl ...
- 如何解决虚拟机Mac OS X 不支持二进制编译问题()
本文将着重解决在使用VMware 11安装Mac OS虚拟机出现”Mac OS X 不支持二进制编译.若要运行 Mac OS X 主机上需要一个 VMware Workstation 支持英特尔 VT ...
- Linux(centos)如何安装Zend Optimizer Zend Guard Loader
很多php开源系统都是基于Zend Optimizer的,所以我们需要先安装Zend Optimizer.但在php5.3之后Zend Optimizer被Zend Guard Loader 取代了, ...
- Fragment实现兼容手机和平板
Android手机的设置界面,点击一下Sound,可以跳转到声音设置界面,如下面两张图所示: 然后再来看一下Android Pad的设置界面,主设置页面和声音设置页面都是在一个 ...
- NuGet 发布
其实吧,我并没有用到nuget发布,但是在做项目的过程中,我需要别的系统给我接口,所有吧,人家就发 布了了一个nuget程序集,而我呢,就引用了一下,然后就可以用了,又不吧,本人小编好奇心比较重,所以 ...
- flex模拟微信布局
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...