![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
文章平均质量分 72
iBenxiaohai123
这个作者很懒,什么都没留下…
展开
-
C# Find()和First()与FirstOrDefault()
1.Find方法只能在List<T>上使用,而后者能更广泛应用在IEnemerable<T>上。Find最终是建立在Array的查找之上,而在IEnemerable上的FirstOrDefault是使用foreach查找的。因此,Find速度会比FirstOrDefault快很多,据测试可能会快一倍以上。2. First:取序列中满足条件的第一个元素,如果没有元素...原创 2020-04-23 14:25:09 · 1223 阅读 · 0 评论 -
ASP.NET控件之Content控件
创建一个服务器控件,该控件包含呈现到母版页中的 ContentPlaceHolder 控件的文本、标记和其他服务器控件。<asp:Content ContentPlaceHolderID="string" EnableViewState="True|False" ID="string" runat="server" Visible="True|False"> &l...原创 2019-12-23 14:46:05 · 757 阅读 · 0 评论 -
HTTP常见Content-Type比较
1. application/x-www-form-urlencoded最常见的 POST 提交数据的方式了。浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded方式提交数据。 传递的key/val会经过URL转码,所以如果传递的参数存在中文或者特殊字符需要注意。//例子//b=曹,a=1...转载 2018-09-13 14:36:06 · 415 阅读 · 0 评论 -
C# CultureInfo 类之各国语言所对应的的区域性名称
CultureInfo 类保存区域性特定的信息,如关联的语言、子语言、国家/地区、日历和区域性约定。此类还提供对 DateTimeFormatInfo、NumberFormatInfo、CompareInfo 和 TextInfo 的区域性特定实例的访问。这些对象包含区域性特定操作(如大小写、格式化日期和数字以及比较字符串)所需的信息。String 类间接地使用此类来获取有关默认区域性的信...转载 2018-10-08 14:36:13 · 1906 阅读 · 0 评论 -
前台线程和后台线程的区别、线程池的优缺点和使用场景
1.线程的和进程的关系以及优缺点windows系统是一个多线程的操作系统。一个程序至少有一个进程,一个进程至少有一个线程。进程是线程的容器,一个C#客户端程序开始于一个单独的线程,CLR(公共语言运行库)为该进程创建了一个线程,该线程称为主线程。例如当我们创建一个C#控制台程序,程序的入口是Main()函数,Main()函数是始于一个主线程的。它的功能主要 是产生新的线程和执行程序。C#是一门...原创 2018-11-28 09:56:35 · 1920 阅读 · 1 评论 -
C#中的流、字节、字符和字符串
首先要明白它们本身是由什么组成的:流:二进制字节:无符号整数字符:Unicode编码字符字符串:多个Unicode编码字符 那么在.net下它们之间如何转化呢?一般是遵守以下规则:流->字节数组->字符数组->字符串 下面就来具体谈谈转化的语法流->字节数组MemoryStream ms = new MemoryStream...转载 2019-01-18 10:43:39 · 495 阅读 · 0 评论 -
C# 用Linq实现DataTable转换成List
public static List<User> ConvertDataTableToObjectList(DataTable dt){ var list = (from t in dt.AsEnumerable() select (new User { /*...原创 2019-03-01 14:03:00 · 2516 阅读 · 0 评论 -
DataTable数据集转换为List非泛型以及泛型方式
DataTable是断开式的数据集合,所以一旦从数据库获取,就会在内存中创建一个数据的副本,以便使用。由于在实际项目中,经常会将DataTable中的每行数据转换为Model,然后放到List集合中,所以,下面提供了转换的两种思路:非泛型转换思路和泛型转换思路。1.非泛型方式首先来说下非泛型转换,这种转换方式就是通过遍历DataTable,然后向Model中的相同字段中赋值即可。//...转载 2019-03-06 16:56:19 · 278 阅读 · 0 评论 -
Socket、TCP/IP、UDP
什么是TCP/IP、UDP?TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是属于TCP/IP协议族中的一种。Socket是什么呢?Socke...原创 2019-03-27 15:11:45 · 278 阅读 · 0 评论 -
TCP 三次握手四次挥手
计算机网络分为五层:物理层、数据链路层、网络层、运输层、应用层其中:网络层:负责根据IP找到目的地址的主机 运输层:通过端口把数据传到目的主机的目的进程,来实现进程与进程之间的通信1.2 端口号(PORT)端口号规定为16位,即允许一个IP主机有2的16次方65535个不同的端口。其中:0~1023:分配给系统的端口号 我们不可以乱用 1024~491...原创 2019-03-27 15:43:53 · 121 阅读 · 0 评论 -
C# RSACryptoServiceProvider加密解密签名验签和DESCryptoServiceProvider加解密
自己做数字签名加密解密这就了,对这些东西有一点点懂,可能自己整理的有些错误。C#在using System.Security.Cryptography下有 DESCryptoServiceProvider RSACryptoServiceProviderDESCryptoServiceProvider 是用于对称加密 RSACryptoServiceProvider是用于非对称加密对称...原创 2019-09-10 09:43:30 · 1557 阅读 · 0 评论 -
C#正则表达式Regex类的使用
C#中为正则表达式的使用提供了非常强大的功能,这就是Regex类。这个包包含于System.Text.RegularExpressions命名空间下面,而这个命名空间所在DLL基本上在所有的项目模板中都不需要单独去添加引用,可以直接使用。1、定义一个Regex类的实例Regex regex = new Regex(@"\d");这里的初始化参数就是一个正则表达式,“\d”表示配置数字。...原创 2018-09-15 16:17:48 · 344 阅读 · 0 评论 -
利用 async & await 的异步编程
一、异步编程的简介通过使用异步编程,你可以避免性能瓶颈并增强你的应用程序的总体响应能力。 从 VS 2012 开始,新引入了一个简化的方法,称为异步编程。我们在 >= .NET 4.5 中和 Windows 运行时中使用异步,编译器它会帮助了我们降低了曾经进行的高难度异步代码编写的工作,但逻辑结构却类似于同步代码。因此,我们仅需要进行一小部分编程的工作就可以获得异步编程的所有优点。 二、异...转载 2018-05-29 16:46:08 · 240 阅读 · 0 评论 -
Task类使用总结
由于Framework 4.0和Framework 4.5对Task类稍微有些不同,此处声明以下代码都是基于Framework 4.5Task类和Task<TResult>类,后者是前者的泛型版本。TResult类型为Task所调用方法的返回值。主要区别在于Task构造函数接受的参数是Action委托,而Task<TResult>接受的是Func<TResult>...转载 2018-05-29 16:32:59 · 408 阅读 · 0 评论 -
HtmlAgilityPack之HtmlNode类
HtmlAgilityPack 之 HtmlNode类HtmlAgilityPack中的HtmlNode类与XmlNode类差不多,提供的功能也大同小异。下面来看看该类提供功能。一、静态属性public static Dictionarystring, HtmlElementFlag> //ElementsFlags;获取集合的定义为特定的元素节点的特定行为的标志。表包原创 2017-07-11 18:08:03 · 307 阅读 · 0 评论 -
C#使用MemoryStream类读写内存
和FileStream一样,MemoryStream和BufferedStream都派生自基类Stream,因此它们有很多共同的属性和方法,但是每一个类都有自己独特的用法。这两个类都是实现对内存进行数据读写的功能,而不是对持久性存储器进行读写。读写内存-MemoryStream类MemoryStream类用于向内存而不是磁盘读写数据。MemoryStream封装以无符号字节数组形式存储的数...原创 2017-06-28 08:41:54 · 1912 阅读 · 0 评论 -
C#压缩解压文件并修改
using System; using System.Collections.Generic; using System.IO; using ICSharpCode.SharpZipLib.Zip; namespace TestConsole { internal class Program { private原创 2017-07-06 17:59:04 · 916 阅读 · 0 评论 -
C#中out和ref之间的区别
首先:两者都是按地址传递的,使用后都将改变原来参数的数值。其次:ref可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值为空,所以你必须初始化一次。这个就是两个的区别,或者说就像有的网友说的,ref是有进有出,out是只出不进。ref(C#参考)ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,原创 2017-08-10 22:06:35 · 269 阅读 · 0 评论 -
.NET正则类及其方法应用
1 概述初学正则时,对于Regex类不熟悉,遇到问题不知道该用哪种方法解决,本文结合一些正则应用的典型应用场景,介绍一下Regex类的基本应用。这里重点进行.NET类的介绍,对于正则的运用,不做深入探讨。正则的应用最终都是进行模式的匹配,而根据目的的不同,基本上可以分为以下几种应用:验证、提取、替换、分割。结合.NET提供的控件、类以及类的方法,可以很方便的实现这些应用。以下将结合一些原创 2017-07-13 10:59:58 · 390 阅读 · 0 评论 -
C#实现 单点登录(SSO)(附源码)
SSO的基本概念SSO英文全称Single Sign On(单点登录)。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。(本段内容来自百度百科)今天这篇文章将介绍SSO的一种实现方式,代码超简单,仅用来验证我的思路是否可行,具体细节请大家原创 2017-08-14 09:55:21 · 1686 阅读 · 1 评论 -
int.Parse()与int.TryParse()
int i = -1;bool b = int.TryParse(null, out i);执行完毕后,b等于false,i等于0,而不是等于-1,切记。int i = -1;bool b = int.TryParse("123", out i);执行完毕后,b等于true,i等于123;1、(int)是一种类型转换;当我们觟nt类型到long,float,doub原创 2017-09-02 15:45:24 · 3893 阅读 · 0 评论 -
C#-DataTable分页代码
/// <summary> /// DataTable分页并取出指定页码的数据 /// </summary> /// <param name="dtAll">DataTable</param> /// <param name="pageNo">页码,注意:从1开始原创 2018-03-17 15:50:04 · 343 阅读 · 0 评论 -
Newtonsoft.Json利用IsoDateTimeConverter处理日期类型
Newtonsoft.Json.dll来序列化反序列化对象和Json字符串时非常方便但是如果对象中存在日期类型属性时,序列化后格式是 {"UserId":1,"UserName":"李 刚","CreateDate":"\/Date(353521211984)\/"} 其中日期会被转换成Date(353521211984),其中Date代表的是日期,353521211984是毫秒上面的格式...原创 2018-04-20 11:58:16 · 3368 阅读 · 0 评论 -
C#知识点-StopWatch-计时
简单介绍 Stopwatch 可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间。一般用来测量代码执行所用的时间或者计算性能数据,在优化代码性能上可以使用Stopwatch来测量时间。基本用法 使用的时候需要引用 System.Diagnostics 命名空间。先调用 Start 方法,然后调用 Stop 方法,最后使用 Elapsed 属性或者使用 ElapsedMillis...原创 2018-05-29 14:21:20 · 1158 阅读 · 0 评论 -
C# 获取当前路径7种方法
//获取模块的完整路径。 string path1 = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName; //获取和设置当前目录(该进程从中启动的目录)的完全限定目录 string path2 = System.Environment.CurrentDirectory; //获取应用程序的转载 2017-05-22 19:08:23 · 1988 阅读 · 0 评论