zoukankan      html  css  js  c++  java
  • 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;

     1     public class test
     2     {
     3         public int Id;
     4         public string Name;
     5         public DateTime Time = DateTime.Now;
     6         public static explicit operator test(test1 t)
     7         {
     8             return new test
     9             {
    10                 Id = t.Id,
    11                 Name = t.Name + t.Time.ToString("yyyy-MM-dd HH:mm:ss"),
    12                 Time = t.Time
    13             };
    14         }
    15     }
    16     public class test1
    17     {
    18         public int Id;
    19         public string Name;
    20         public DateTime Time = DateTime.Now;
    21         public static explicit operator test1(test t)
    22         {
    23             return new test1
    24             {
    25                 Id = t.Id,
    26                 Name = t.Name + t.Time.ToString("yyyy-MM-dd HH:mm:ss"),
    27                 Time = t.Time
    28             };
    29         }
    30     }

    获取时间戳

    1             System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
    2             return (time - startTime).TotalSeconds.ToString("0");

    集合ToDictionary时key必须唯一,可以用ToLookUp,相当于Dictionary<key,T>或Dictionary<key,List<T>>

    1  var lss = ls.ToLookup(x => x.userId);//ls是一个List
    2  foreach (var item in lss)
    3  {
    4      var key = item.Key;
    5      foreach (var item1 in item)
    6      {
    7         var val = item1.userName + item1.password;
    8      }
    9 }
  • 相关阅读:
    vs2019编译错误:Exception Processing Message 0xc0000005 Parameters...
    error LNK2001
    Debug Assertion Failed
    对路径“………………”的访问被拒绝
    c语言打开文件为什么总是以二进制方式打开
    关于typedef的用法总结
    xml学习第一天
    关于VS2017编译成功系统找不到指定文件.exe的问题
    引入的外部js文件在html文件在浏览器中乱码显示
    结对作业(四则运算)
  • 原文地址:https://www.cnblogs.com/liuph/p/4323888.html
Copyright © 2011-2022 走看看