zoukankan      html  css  js  c++  java
  • C# 正则替换、Json格式化等

    工作需要做一个小工具,捡起之前的C# Winform

    1、正则替换

     string strText="xxxxx";
     Regex reg = new Regex(@"
    - d+ - ");
     strText = reg.Replace(strText, "");
    

    2、Json格式化

    public static string ConvertJsonString(string str)
            {
                //格式化json字符串
                JsonSerializer serializer = new JsonSerializer();
                TextReader tr = new StringReader(str);
                JsonTextReader jtr = new JsonTextReader(tr);
                object obj = serializer.Deserialize(jtr);
                if (obj != null)
                {
                    StringWriter textWriter = new StringWriter();
                    JsonTextWriter jsonWriter = new JsonTextWriter(textWriter)
                    {
                        Formatting = Formatting.Indented,
                        Indentation = 4,
                        IndentChar = ' '
                    };
                    serializer.Serialize(jsonWriter, obj);
                    return textWriter.ToString();
                }
                else
                {
                    return str;
                }
            }
    

    3、自定义ListBoxItem

            [Serializable]
            public class MyListBoxItem
            {
                public override string ToString()
                {
                    if (IsGroup) return "" + ItemText + "";
                    else return "       " + ItemText;
                    return ItemText;
                }
                public bool IsGroup { get; set; }
                public string ItemText { get; set; }
            }
    

    4、用到的Mqtt组件
    M2MqttDotnetCore
    5、序列化,反序列化

           private List<MyListBoxItem> LoadTopicList(string fileName)
            {
                try
                {
                    string strParent = System.IO.Directory.GetParent(System.Windows.Forms.Application.ExecutablePath).FullName;
                    string strFilePath = strParent + "\config\" + fileName + ".data";
                    if (!File.Exists(strFilePath)) return new List<MyListBoxItem>();
                    //反序列化
                    FileStream fs = new FileStream(strFilePath, FileMode.Open);
                    BinaryFormatter bf = new BinaryFormatter();
                    List<MyListBoxItem> p = bf.Deserialize(fs) as List<MyListBoxItem>;
                    fs.Close();
                    return p;
                }
                catch (Exception ex)
                {
    
                    MessageBox.Show(ex.Message);
                }
                return new List<MyListBoxItem>();
            }
            private void SaveTopicList(string fileName, List<MyListBoxItem> list)
            {
                try
                {
                    string strParent = System.IO.Directory.GetParent(System.Windows.Forms.Application.ExecutablePath).FullName;
                    //序列化
                    FileStream fs = new FileStream(strParent + "\config\" + fileName + ".data", FileMode.OpenOrCreate);
    
                    BinaryFormatter bf = new BinaryFormatter();
                    bf.Serialize(fs, list);
                    fs.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
    
    本博客是个人工作中记录,遇到问题可以互相探讨,没有遇到的问题可能没有时间去特意研究,勿扰。
    另外建了几个QQ技术群:
    2、全栈技术群:616945527,加群口令abc123
    2、硬件嵌入式开发: 75764412
    3、Go语言交流群:9924600

    闲置域名www.nsxz.com出售(等宽等高字符四字域名)。
  • 相关阅读:
    Spring中的BeanUtils与apache commons中的BeanUtils用法[1]
    C# rmi例子
    跨时钟域设计的一点总结
    FPGA跨时钟域异步时钟设计的几种同步策略-可编程逻辑-与非网
    关于FPGA异步时钟采样--结绳法的点点滴滴
    sigaction函数解析
    可重入函数
    SCHED_OTHER,SCHED_FIFO,SCHED_RR-intentness-ChinaUnix博客
    qt安装教程
    VS2013 平台下搭建 QT5.3 开发环境
  • 原文地址:https://www.cnblogs.com/zhaogaojian/p/15203060.html
Copyright © 2011-2022 走看看