记录C#常用的代码片段

  时间一久,常用的代码会有点忘记,还是贴在这里方便查找!

1、将信息写入文件中

//将字符串写入到文本中
        void writeToText(string msg)
        {
            try
            {
                msg = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + " : " + msg;
                string fileUrl = HttpContext.Server.MapPath("~/unionpayLog.txt");

                System.IO.FileStream fs = new System.IO.FileStream(fileUrl, System.IO.FileMode.Append);
                System.IO.StreamWriter sw = new System.IO.StreamWriter(fs);
                sw.WriteLine(msg);
                sw.Close();
                fs.Close();
            }
            catch (Exception ex) { }
        }

2、保存Bitmap图片对象到本地, 或者保存图片字节数组到本地

/// <summary>
        /// 保存图片到本地
        /// </summary>
        /// <param name="bmp"></param>
        /// <returns>返回图片名字</returns>
        public static string SaveImageByBitmap(Bitmap bmp)
        {
            if (bmp == null) return "";

            string imgName = Guid.NewGuid().ToString() + ".jpg";
            string localImgPath = LocalImageFolder() + "\\" + imgName;

            using (bmp)
            {
                using (MemoryStream stream = new MemoryStream())
                {
                    bmp.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
                    byte[] bytes = stream.ToArray();

                    FileStream fs = new FileStream(localImgPath, FileMode.Create);
                    BinaryWriter bw = new BinaryWriter(fs);
                    bw.Write(bytes);
                    bw.Close();
                    fs.Close();
                }
            }

            return imgName;
        }

        /// <summary>
        /// 保存图片字节数组到本地
        /// </summary>
        /// <param name="bytes"></param>
        /// <returns></returns>
        public static string SaveImageByBytes(byte[] bytes)
        {
            string imgName = Guid.NewGuid().ToString() + ".jpg";
            string localImgPath = LocalImageFolder() + "\\" + imgName;

            FileStream fs = new FileStream(localImgPath, FileMode.Create);
            BinaryWriter bw = new BinaryWriter(fs);
            bw.Write(bytes);
            bw.Close();
            fs.Close();
            return imgName;
        }

        /// <summary>
        /// 获取本地图片路径
        /// </summary>
        /// <returns></returns>
        public static string LocalImageFolder()
        {
            string dirPath = Directory.GetCurrentDirectory() + "\\tempImages";

            if (!Directory.Exists(dirPath))
            {
                Directory.CreateDirectory(dirPath);
            }

            return dirPath;
        }

3、网络请求: 传入json字符串,网络请求获得返回结果

/// <summary>
        /// post请求
        /// </summary>
        /// <param name="url">请求服务器接口</param>
        /// <param name="paramString">参数字符串</param>
        /// <param name="result">服务器返回结果字符串</param>
        /// <returns></returns>
        public static bool HttpPostRequest(string url, string paramString, ref string result)
        {
            HttpWebRequest request = null;

            //如果是发送HTTPS请求
            if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
            {
                //ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
                request = WebRequest.Create(url) as HttpWebRequest;
                //request.ProtocolVersion = HttpVersion.Version10;
            }
            else
            {
                request = WebRequest.Create(url) as HttpWebRequest;
            }
            request.Method = "POST";
            request.ContentType = "application/json;charset=utf-8";
            //request.Headers.Add("Authorization", User.currentUser.token);
            request.Headers.Add("Accept-Encoding", "gzip");

            //设置代理UserAgent和超时
            //request.UserAgent = userAgent;
            //request.Timeout = timeout; 

            //发送POST数据
            byte[] data = Encoding.UTF8.GetBytes(paramString);
            using (Stream stream = request.GetRequestStream())
            {
                stream.Write(data, 0, data.Length);
            }

            HttpWebResponse response;

            try
            {
                 response = request.GetResponse() as HttpWebResponse;
            }
            catch (Exception ex)
            {
                result = "error: " + ex.Message;
                return false;
            }

            Stream stream2 = response.GetResponseStream();   //获取响应的字符串流
            StreamReader sr = new StreamReader(stream2); //创建一个stream读取流
            result = sr.ReadToEnd();   //从头读到尾,读取json字符串
            sr.Close();
            stream2.Close();

            return true;
        }

调用举例:

string result = "";
            string paramsStr = "{\"userName\":\"admin\", \"password\":\"123456\"}";

            if (HttpHelper.HttpPostRequest("http://192.168.1.220:5188/user/login/in", paramsStr, ref result))
            {
                Console.WriteLine("success:" + result);
            }
            else
            {
                Console.WriteLine("请求fail:" + result);
            }

解析json字符串为模型对象,引用Newtonsoft库

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

string jsonStr = "{\"code\":\"0000\", \"data\":{\"name\":\"xxx\", \"age\":\"xxx\"}, \"msg\":\"xxxxx\"}";
            JObject obj = JObject.Parse(jsonStr);
            string code = obj["code"].ToString();

            if (code.Equals("0000"))
            {
                string dataStr = obj["data"].ToString();
                Dictionary<string, string> dataDict = JsonConvert.DeserializeObject<Dictionary<string, string>>(dataStr);
                //...
            }

时间: 2024-08-12 06:18:33

记录C#常用的代码片段的相关文章

IOS开发-OC学习-常用功能代码片段整理

IOS开发-OC学习-常用功能代码片段整理 IOS开发中会频繁用到一些代码段,用来实现一些固定的功能.比如在文本框中输入完后要让键盘收回,这个需要用一个简单的让文本框失去第一响应者的身份来完成.或者是在做与URL有关的功能时,需要在Info.plist中添加一段代码进而实现让网址完成从Http到Https的转换,以及其他的一些功能. 在从一个新手到逐渐学会各种功能.代码.控件.方法如何使用的过程中,也在逐渐积累一些知识,但是一次总不会把这些东西都深刻记住并完全理解.所以在这儿记录下这些东西,用来

WebApp 开发中常用的代码片段

其实这里面的多数都是 iOS 上面的代码.其他平台的就没有去验证了. HTML, 从HTML文档的开始到结束排列: <meta name=”viewport” content=”width=device-width, initial-scale=1.0″/> 让内容的宽度自适应为设备的宽度, 在做Mobile Web时必须加的一条 <meta name=”format-detection” content=”telephone=no”]]> 禁用手机号码链接(for iPhone)

常用Javascript代码片段集锦

说集锦有点夸张了,因为只是收集了一部分. 这是我业余时间收集的一些常用的javascript代码片段. 不过代码的组织比较混乱,主要是通过全局函数和对象封装,后期会继续添加和完善. 如果有错误欢迎批评指正, 当然也欢迎PR或提issue. 希望大家一起完善! 如果项目依赖jQuery/Zepto等库或框架, 可能有些代码用不到,因为这些库或框架已经帮我们封装好了. 这主要是为了脱离jQUery/Zepto等库的情况下使用. Github: https://github.com/zffMaple/

iOS开发效率之为Xcode添加常用的代码片段

tableview是我们经常使用的控件,而使用tableview控件需要自己去实现一些基本的tableview的代理.这些对于每个程序基本上都是大同小异.对于声明property来说也是我们经常需要做的工作.所以我们需要把这些公用的东西总结成代码块,供我们以后的快捷使用. 具体步骤如下: 1.将我们需要重复使用的代码块全部选中拖到下图右下角的libray里面去. 2.这时候会弹出一个对话框需要我们填入一些基本信息 从上到下依次是: Title 代码片段的标题 Summary 代码片段的描述文字

go当中一些常用的代码片段记录

1.时间转换 获取当前时间戳  timeUnix:=time.Now().Unix()  这个是int64类型 //string 到 int int,err := strconv.Atoi(string) //string 到int64 int64,err := strconv,ParseInt(string,10,64) //int64 到 string string :=strconv.FormatInt(int64.10) 举例说明,从把时间戳转换成int,方便某些场景比较,需要把int6

前端开发常用js代码片段

HTML5 DOM 选择器 // querySelector() 返回匹配到的第一个元素var item = document.querySelector('.item');console.log(item); // querySelectorAll() 返回匹配到的所有元素,是一个nodeList集合var items = document.querySelectorAll('.item');console.log(items[0]); 阻止默认行为 // 原生jsdocument.getEl

常用HTML5代码片段

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Untitled</title> <!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif

常用CSS代码片段

1.标准html页面模板 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="wid

jsp 中常用的代码片段

引入jsp的头部的标签文件: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%> <%@ taglib prefix="fmt" uri="