C#
文章平均质量分 51
Acettest
这个作者很懒,什么都没留下…
展开
-
字符串编码格式检测
乱码恢复原创 2021-01-29 14:13:31 · 3467 阅读 · 0 评论 -
c#中的问号点操作符含义
Console.WriteLine($"3. Endpoint: {context.GetEndpoint()?.DisplayName ?? "(null)"}");`string info = string.empty;if(context.GetEndpoint()==null){info = "(null)";}else if(context.GetEndpoint().DisplayName ==null){info = "null";}else{info = cont原创 2020-05-28 07:12:23 · 3053 阅读 · 0 评论 -
协作式取消paralle.for
协作式取消paralle.forparallel.for cancellation exceptioncancel parallel.for原创 2020-03-23 16:02:44 · 283 阅读 · 0 评论 -
非静态类中的静态变量的生命周期
https://www.programering.com/a/MTN5gjNwATY.html转载 2019-11-06 14:48:50 · 389 阅读 · 0 评论 -
c# 网络异步编程
异步接收客户端连接BeginAcceptTcpClient 像之前的listener.AcceptTcpClient();的方法,这个是同步方法,意思是当没有客户端连接的时候,这个方法就一直等待。那么异步方法就是listener.BeginAcceptTcpClient()。这个方法不管有没有客户端连接。都继续执行下去,也就是不会阻塞当前的线程。使用异步方法接收客户连接的话,需转载 2017-04-24 07:16:58 · 1007 阅读 · 0 评论 -
c#接口
本文意在巩固基础知识,并不是对其进行深入剖析,还望理解。本文为原创文,难免会有一些小得瑕疵,敬请谅解。所有示例均是博主测试过的,如有转载请标明出处,谢谢。在编程中,我们经常会用到接口,那什么是接口呢?接口描述的是可属于任何类或结构的一组相关功能,所以实现接口的类或结构必须实现接口定义中指定的接口成员。接口使用interface 关键字进行定义,可由方法、属性、事件、索引器或这四转载 2017-04-26 08:05:42 · 190 阅读 · 0 评论 -
C#中事件存在的意义
C#中事件是基于委托。 不使用event关键字定义委托实例对象:[c-sharp] view plain copy//定义一委托类型 public delegate void MyButtonEventHandler(string msg); //定义MyButton类,模拟按钮对象 public c转载 2017-04-27 08:12:30 · 1981 阅读 · 0 评论 -
c# opc 采集
http://www.haolizi.net/example/view_8555.html转载 2017-06-05 13:11:10 · 1479 阅读 · 1 评论 -
C#调用C++动态库(dll)
在实际软件开发过程中,由于公司使用了多种语言开发,在C#中可能需要实现某个功能,而该功能可能用其他语言已经实现了,那么我们可以调用其他语言写好的模块吗?还有就是,由于C#开发好的项目,我们可以利用reflector等反编译工具反编译出其源代码,所以对于一些核心算法,我们不希望被别人知道,因此为了增强代码的安全性,我们需要将一些核心算法用C或C++来编写,然后用C#来调用这些已经写好的接口。在面对以原创 2017-06-01 17:12:31 · 621 阅读 · 0 评论 -
特殊集合 队列(queue) 堆栈(stack) 哈希表(hashtable)
1.stack栈集合;又名 干草堆集合 栈集合特点:(1)一个一个赋值 一个一个取值(2)先进后出实例化 初始化Stack st = new Stack();//添加元素用pushst.Push(2);st.Push(6);st.Push(9);st.Push(5);st.Push(1);输出个数Console.WriteLine(st.Coun转载 2017-08-01 08:41:46 · 573 阅读 · 0 评论 -
C#常用的集合类型(ArrayList类、Stack类、Queue类、Hashtable类、SortedList类)
转载自:http://www.cnblogs.com/linpengfeixgu/articles/1442980.html1.ArrayList类ArrayList类主要用于对一个数组中的元素进行各种处理。在ArrayList中主要使用Add、Remove、RemoveAt、Insert四个方法对栈进行操作。Add方法用于将对象添加到 ArrayList 的结尾处转载 2017-08-08 09:10:15 · 520 阅读 · 1 评论 -
c# 遍历字典
using System;using System.Collections.Generic;public class Example{ public static void Main() { //一、创建泛型哈希表,然后加入元素 Dictionary oscar = new Dict转载 2017-08-08 09:29:13 · 8232 阅读 · 0 评论 -
C#抽象类及抽象方法
转自:http://www.cnblogs.com/flyinthesky/archive/2008/06/18/1224774.html推荐,此系列博客很不错的C#接口类似于c++中的纯虚函数(子类必须重写),而抽象方法类似于虚函数(子类可以重写)在C#中使用关键字 abstract 来定义抽象类和抽象方法。不能初始化的类被叫做抽象类,它们只提供部分实现,但是另一个类可以继承它并转载 2017-07-20 07:15:05 · 429 阅读 · 0 评论 -
向字典中添加重复键会报错
结论:向字典中添加相同的值键会抛出异常,所以在添加时,需要检验该字典是否已经包含该键。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApp8{原创 2017-08-08 09:51:38 · 2980 阅读 · 0 评论 -
集合遍历的线程安全问题
以下内容引用自MSDN:RemarksThe wrapper returned by this method locks the queue before an operation is performed so that it is performed in a thread-safe manner.To guarantee the thread safety of the Qu原创 2017-08-09 08:52:17 · 827 阅读 · 0 评论 -
System.Timers.Timer重置
System.Timers.Timer重置先stop再start原创 2017-08-09 09:36:25 · 2397 阅读 · 0 评论 -
stringbuilder,streamwriter写xml
注意以下几点:1.必须要有xml声明,且声明中要使用\"来转义引号2.有没有换行符无所谓3.attribute 中等号右边必须要有引号,如string = “string”publicstatic StringBuilder AppendAttribute(StringBuilder sb,string element, string valueNmae,原创 2017-07-24 23:40:45 · 370 阅读 · 0 评论 -
NULL,"",String.Empty三者在C#中的区别
原文地址:http://www.cnblogs.com/liuyaozhi/p/5809521.html(1)NULLnull 关键字是表示不引用任何对象的空引用的文字值。null 是引用类型变量的默认值。那么也只有引用型的变量可以为NULL,如果int i=null,的话,是不可以的,因为Int是值类型的。(2)""和String.Empty 这两个都是表示空字符转载 2017-08-09 17:38:42 · 193 阅读 · 0 评论 -
c# 事件传参
public class SeatChoosenEventArgs : EventArgs { public 呼叫中心工号核对表Entity SeatChoosen; } public partial class UCSeatIcon : UserControl{ private 呼叫中心工号核对表Entity _entity; pub转载 2017-08-03 17:00:00 · 1003 阅读 · 0 评论 -
The best way of parsing xml
https://stackoverflow.com/questions/13459862/the-best-way-of-parsing-xml转载 2017-07-27 08:56:02 · 168 阅读 · 0 评论 -
在一个项目中引用另一个项目中的类
在A项目上添加引用,比如你想调用B项目的一些类或方法,在A项目上右键-->添加引用(add reference) 选择本地项目,找到B项目后,添加引用.程序中使用using B这样就可以使用B中的类和方法了.原创 2017-08-11 16:32:08 · 3507 阅读 · 0 评论 -
\r与\n的区别,\r\n与\n或\r的区别(C语言/C#)
本文出处http://topic.csdn.net/t/20020718/07/882679.html 原作者:triout(笨牛)\r表示回车,\n表示换行,我们按回车按钮的时候,系统自动产生回车和换行两个字符: 回车仅仅是表示完成,把光标回到行首, 换行仅仅是换行,不表示完成,也不把光标放到行首。 示例:(下面用I表示光标) 1——转载 2017-08-19 16:39:20 · 345 阅读 · 0 评论 -
DataReader和DataAdapter的区别
转自:http://blog.sina.com.cn/s/blog_7bb5e6b70101ay5v.htmlDataReader是一个向前的指针,本身并不包含数据,调用一次Read()方法它就向前到下一条记录,一个DataReader必须单独占用一个打开的数据库连接!在使用 OleDbDataReader 时,关联的 OleDbConnection 正忙于为 OleDbDataR转载 2017-08-13 06:33:46 · 1792 阅读 · 1 评论 -
方法或类声明中where作用
主要作用是使用where限制泛型的适用类型,缩小泛型的范围where 子句用于指定类型约束,这些约束可以作为泛型声明中定义的类型参数的变量。 1.接口约束。 例如,可以声明一个泛型类 MyGenericClass,这样,类型参数 T 就可以实现 IComparable接口:public class MyGenericClass where T:ICo转载 2017-08-14 00:39:51 · 4258 阅读 · 0 评论 -
c# 三方集合库C5介绍
https://www.itu.dk/research/c5/原创 2017-08-14 00:49:30 · 1044 阅读 · 0 评论 -
c# 委托
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递。事件是一种特殊的委托。 1.委托的声明 (1). delegate delegate我们常用到的一种声明 Delegate至少0个参数,至多32个参数,可以无返回值,也可以指定返回值类型。 例:publicdelegate int MethodtDelegate(i转载 2017-08-07 09:50:09 · 174 阅读 · 0 评论 -
if else与switch区别
一、if-else只是单纯地一个接一个比较;if...else每个条件都计算一遍;二、switch使用了Binary Tree算法;绝大部分情况下switch会快一点,除非是if-else的第一个条件就为true编译器编译switch与编译if...else...不同。不管有多少case,都直接跳转,不需逐个比较查询;switch只计算一次值,然后都是test , jmp,有很转载 2017-08-07 14:27:28 · 882 阅读 · 0 评论 -
Split参数StringSplitOptions.RemoveEmptyEntries的使用
string test = "程$晓$"; 使用:string[] temp = test.Split(new string[] { "$" }, StringSplitOptions.RemoveEmptyEntries); 输出结果:数组长度为2 temp[0]="程" temp[1]="晓"; 使用:string[] temp = test.Split(new str转载 2017-08-07 15:07:27 · 12066 阅读 · 0 评论 -
c# 值类型与引用类型的区别
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace BOOLTEST{ class Program {原创 2017-08-22 09:33:44 · 209 阅读 · 0 评论 -
DateTime的缺省值
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DateTimeTest{ class Program {原创 2017-08-22 10:18:29 · 749 阅读 · 0 评论 -
关于远程桌面的参数问题
关于远程桌面的参数问题:1. 服务器ip和porta) Ip是必须的,port默认为3389,但是可更改b) 外网连接时,需要在路由器上做端口映射2. 用户名和密码a) 即计算机的控制账户和密码3. 关于如何更改服务器的port需要配置端口的,但是也可以更改的。i.远程桌面终端服务默认端口为“3389”,为防止他人进行恶意连接,就原创 2017-08-15 01:26:10 · 1254 阅读 · 0 评论 -
vs clean或rebuild时自动删除dll的解决方法
The bin folder is just the binary output from a build, so when you clean your solution, all the assemblies in the bin folder get deleted. You should reference the assemblies from some other location.原创 2017-08-31 16:31:34 · 3179 阅读 · 0 评论 -
C# 深拷贝
public static T DeepClone(this T st) { BinaryFormatter bf = new BinaryFormatter(); MemoryStream ms = new MemoryStream(); bf.Serialize(ms, st);原创 2017-09-04 13:07:57 · 184 阅读 · 0 评论 -
正则表达式验证是否为ip
public static bool IsIPAddress(string str) { if (str == null || str == string.Empty || str.Length 15) return false; string regformat = @"^\d{1,3}[\.]\d{1,3}[\.]\d{1,3原创 2017-09-04 13:05:10 · 1655 阅读 · 0 评论 -
Split参数StringSplitOptions.RemoveEmptyEntries的使用
string test = "程$晓$"; 使用:string[] temp = test.Split(new string[] { "$" }, StringSplitOptions.RemoveEmptyEntries); 输出结果:数组长度为2 temp[0]="程" temp[1]="晓"; 使用:string[] temp = test.Split(new str转载 2017-09-04 14:14:51 · 2107 阅读 · 0 评论 -
c# DataTime.toString()的显示精度问题
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApp1{ classTimePorint { publicstr原创 2017-08-15 21:36:34 · 1151 阅读 · 0 评论 -
关于序列化以及NonSerializedAttribute的一点总结
1、当一个对象不允许被序列化时,就标记这个属性。NonSerializedAttribute允许序列化,就是可以将这个对象的字段等成分转为字符串,常见的是保存成文件,可以在网络上传输,常见的有soap、binary、xml三种序列化方式,web方面有ms的Newtongsoft.JSON,使用起来很方便,可以将服务器端的对象序列化成字符串,传给客户端,反序列化为js对象,进而应用到js程序中。原创 2017-09-07 09:03:50 · 2836 阅读 · 0 评论 -
Linq切勿使用count()>0来判断集合是否为空
Linq 出现之前,我们通常使用下面的方式来判断集合是否非空,即集合包含元素:12345678var array = new int[0];var b1 = array.Length > 0;var list = new Liststring>();var b2 = list.Count > 0;var collection = new C转载 2017-08-29 17:13:44 · 2296 阅读 · 1 评论 -
详解C#中的反射
详解C#中的反射http://blog.csdn.net/educast/article/details/2894892两个现实中的例子:1、B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到你内脏的生理情况。这是如何做到的呢?B超是B型超声波,它可以透过肚皮通过向你体内发射B型超声波,当超声波遇到内脏壁的时候就会产生一定的“回音”反射,然后把“回音”进行处理就可以显转载 2017-06-01 15:38:35 · 215 阅读 · 0 评论 -
函数有返回值且返回值为引用类型的问题返回null
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApp3{ class Program {原创 2017-08-29 17:36:02 · 1098 阅读 · 0 评论