随笔分类 - c#踩坑记录
摘要:小学生都知道上面的代码中,8.1/3=2.7 但是计算机计算的结果却出人意料:2.6999999999999997 原因:计算机是用二进制格式存储小数的,这个二进制格式不能精确表示8.1,它只能表示一个非常接近8.1但又不等于8.1的一个数。
阅读全文
摘要:C#Winform开发窗体程序时,当控件很多时,会出现加载缓慢、闪烁的问题,或者窗体放大缩小的时候,由于控件计算比例等,也会出现显示缓慢、闪烁的问题。 解决方法: /// <summary> /// 双缓冲,解决界面加载、放大、缩小的卡顿问题 /// </summary> protected ove
阅读全文
摘要:socket在接收数据时,经常会因为网络延迟、缓存区数据处理不及时等原因造成收到的数据是多个包黏在一起的情况。如下图所示 图中红色框部分是通讯的 心跳包 图中黄色框部分和未框选部分是 两包 数据包 所以可见此时缓存区里面同时存在了一个心跳包,两个数据包 如何分包(此处仅针对几个完整的数据包在一起的情
阅读全文
摘要:如图所示的报错是因为事件 backStatus没有被定阅过,事件只有被订阅过才能正常触发,也证明了事件的本质就是委托。
阅读全文
摘要:Show():显示子页面后父页面依然能操作 ShowDialog():显示子页面后父页面无法继续操作
阅读全文
摘要:重构:重构是一种修改,重构的结果是去除了重复代码和死代码,使设计和逻辑更加清晰。降低项目的耦合度,使项目更加模块化,有利于项目的开发效率和后期的维护。 重写:当一个子类继承一个父类,而子类中的方法与父类中的方法的名称,参数个数、类型都完全一致时,就称子类中的这个方法重写了父类中的方法。 重载:一个类
阅读全文
摘要:"select ChangJia from QianGaiTuoPan where id = (SELECT MAX(id) From QianGaiTuoPan)";
阅读全文
摘要:此处图中就是一个泛型方法,调用的时候需要什么类型的返回值就转换成什么类型。
阅读全文
摘要:用法 : string dateOrder = DateTime.Now.ToString("dHms") 格式模式 说明 d 月中的某一天。一位数的日期没有前导零。 dd 月中的某一天。一位数的日期有一个前导零。 ddd 周中某天的缩写名称,在 AbbreviatedDayNames 中定义。 d
阅读全文
摘要:第一步:将json字符串复制到剪切板 第二步:在vs里面新建个类 第三步:
阅读全文
摘要:textBox1.Text = File.ReadAllText(filename); 这样当文件中有中文时就会产生乱码,类似于这样:���� CS0001 �������ڲ����� 这是因为编码格式不对,应该这么写textBox1.Text = File.ReadAllText(filename
阅读全文
摘要:在方法中一般的return只能返回1个参数,当需要返回多个参数时就可以用out static void Main(string[] args) { int n; bool b = MyTryParse("123", out n); Console.WriteLine(b); Console.Writ
阅读全文
摘要:序列化:对象 >Json 反序列化:Json >对象 方式1:.NET3.5自带类库实现 .net3.5提供了json对象序列化与反序列化的类。位置在:System.Runtime.Serialization.Json空间下。其中如果要应用这个空间还必须添加对 System.ServiceModel
阅读全文
摘要:string sql="12233{0}{1}"; sql = string.Format(sql, "123","123"); 可以用来修改字符串,常用于数据库读写语句中修改字符串。
阅读全文
摘要:XmlDocument因为是GC自动回收,所以没有Dispose方法来释放内存资源,所以在出现内存溢出的时候要使用 GC.Collect(); 来手动回收。
阅读全文
摘要:首先使用消息队列前,我们需要知道,消息队列是用来发送、接收数据的一个容器,简单的说:我们在某宝上买东西,这中间有一个快递的过程,而大多数情况下,我本人选择将我买的东西寄到某个代收点,派送员只需要按照我的要求将东西放到代收点就可以了,之后我有时间了才自己去取。消息队列就类似于这个代收点了,它能存取数据
阅读全文
摘要:匿名方法和Lambda表达式输出的都是委托类型(也就是一个方法) lambda表达式的几种形式
阅读全文
摘要:属性和字段都是在类中的,属性是对字段的隐藏,用{get;set;}来控制对字段的访问权限 规范:属性首字母大写,字段全小写
阅读全文
摘要:using System.Management; private static string GetInfo() { string cpuInfo = "";//cpu序列号 ManagementClass cimobject = new ManagementClass("Win32_Process
阅读全文
摘要:static void Main(string[] args) { double a = 20.6; int b = Convert.ToInt32(a);//5舍6入 int d = (int)double.Parse(a.ToString());//(int)这种转换直接舍弃小数 double
阅读全文