
C#
文章平均质量分 66
薰若
这个作者很懒,什么都没留下…
展开
-
C# 对象与JSON字符串互相转换的三种方式
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。关于内存对象和JSON字符串的相互转换,在实际项目中应比较广泛,经过一番搜索,找到如下三种方法来解决此问题分别是使用、转载 2022-12-28 16:35:14 · 4903 阅读 · 0 评论 -
【原创】C#使用DataContractJsonSerializer进行Json方式序列化和反序列化
若发生重复引用的情况,如A中有成员变量B,B中又有成员变量A。将重复引用的成员前面,标明关键字: [NonSerialized],即可解决。原创 2022-12-28 09:32:53 · 1144 阅读 · 0 评论 -
Visual Studio 2013 Nuget(扩展和更新)无法连接网络分析和解决方法
公司有些项目一直在使用VS2013开发,但是用着用着发现扩展和更新插件这个功能无法连接到网络进行插件的更新和获取,这并不是Nuget服务器挂掉了,而是VS2013还在使用老的HTTP协议,详细的问题描述和解决方法如下文描述。进入Visual Studio 2013 (这里就简称VS2013了)后,从工具-扩展和更新(U)...,进入界面后,点击“联机”面板时,发现无法连接到 Nuget,界面上直接就提示“未能建立到服务器的连接,因为发生了以下错误:请求被终止:未能创建SSL/TLS安全通道。转载 2022-12-20 15:56:10 · 2058 阅读 · 1 评论 -
量化GDI+:快速Bitmap读写像素
写在前面的话:本文针对GDI+下Bitmap操作(Get/SetPixel)进行测试,而非寻求最快速的位图处理方式。如果你需要速度上的提升,请使用GDI+以外的技术,如并行计算、调用MMX/SSE指令、CUDA等。这是一个古老的技巧:使用Bitmap类时经常会用到GetPixel和SetPixel,但是这两个方法直接使用都比较慢,所以一般都会使用LockBits/UnlockBit转载 2017-03-13 09:21:12 · 3077 阅读 · 0 评论 -
delegate和event的区别
一. delegate C#代理实际上类似于C++中的函数指针,因为C#中不存在指针,所以用代理可以完成一些原来在C++中用函数指针完成的操作,例如传递一个类A的方法m给另一个类B的对象,使得类B的对象能够调用这个方法m。但与函数指针相比,delegate有许多函数指针不具备的优点。首先,函数指针只能指向静态函数,而delegate既可以引用静态函数,又可以引用非静态成员函数。在引用非静转载 2017-02-04 14:14:37 · 1398 阅读 · 0 评论 -
C#特性及反射相关
特性具有以下属性:特性可向程序中添加元数据。元数据是有关在程序中定义的类型的信息。所有的 .NET 程序集都包含指定的一组元数据,这些元数据描述在程序集中定义的类型和类型成员。可以添加自定义特性,以指定所需的任何附加信息。可以将一个或多个特性应用到整个程序集、模块或较小的程序元素(如类和属性)。特性可以与方法和属性相同的方式接受参数。程序可以使用反射检查自己原创 2017-02-10 17:21:01 · 315 阅读 · 0 评论 -
30分钟LINQ教程
在说LINQ之前必须先说说几个重要的C#语言特性一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型 甚至在foreach一个集合的时候, 也要为遍历的集合的元素,指定变量的类型 隐式类型的出现, 程转载 2017-02-20 10:57:15 · 285 阅读 · 0 评论 -
C#垃圾回收机制详解
GC的前世与今生虽然本文是以.net作为目标来讲述GC,但是GC的概念并非才诞生不久。早在1958年,由鼎鼎大名的图林奖得主John McCarthy所实现的Lisp语言就已经提供了GC的功能,这是GC的第一次出现。Lisp的程序员认为内存管理太重要了,所以不能由程序员自己来管理。但后来的日子里Lisp却没有成气候,采用内存手动管理的语言占据了上风,以C为代表。出于同样的理由,不同的人却又不同转载 2017-02-10 09:45:02 · 2626 阅读 · 0 评论 -
[zz]谈.Net委托与线程——解决窗体假死
引言 在之前的《创建无阻塞的异步调用》中,已经介绍过异步调用的编写步骤和实施原理。异步调用是CLR为开发者提供的一种重要的编程手段,它也是构建高性能、可伸缩应用程序的关键。在多核CPU越来越普及的今天,异步编程允许使用非常少的线程执行很多操作。我们通常使用异步完成许多计算型、IO型的复杂、耗时操作,去取得我们的应用程序运行所需要的一部分数据。在取得这些数据后,我们需要将它们绑定在UI中呈现。转载 2016-07-26 16:55:55 · 1214 阅读 · 0 评论 -
[zz]谈.Net委托与线程——创建无阻塞的异步调用(二)
了解IAsyncResult 现在我们已经了解,EndInvoke可以给我们提供传出参数与更新后的ref参数;也可以向我们导出异步函数中的异常信息。例如,我们使用BeginInvoke调用了异步函数Sleep,它开始执行。之后调用EndInvoke,可以获取Sleep何时执行完成。但如果我们在Sleep执行完成20分钟后,才去调用EndInvoke呢?EndInvoke仍然会给转载 2016-07-26 16:53:51 · 574 阅读 · 0 评论 -
[zz]谈.Net委托与线程——创建无阻塞的异步调用(一)
前言本文大部分内容来自于mikeperetz的Asynchronous Method Invocation及本人的一些个人体会所得,希望对你有所帮助。原英文文献可以在codeproject中搜索到。介绍这篇文章将介绍异步调用的实现机制及如何调用异步方法。大多数.NET开发者在经过delegate、Thread、AsynchronousInvocation之后,通常都会对以上概念产生混淆转载 2016-07-26 16:52:48 · 2568 阅读 · 0 评论 -
c# 关于继承类中构造函数的实现
class 基类{ public 基类() {} public 基类(类型 参数1){/*....*/}}class 继承类:基类{ public 继承类():this(固定值,固定值2){} public 继承类(类型 参数1,类型 参数2):base(参数1){/*....*/}}继承类的构造函数可以通过:base(参数,...)来继承来之基转载 2016-04-07 09:19:08 · 3964 阅读 · 0 评论 -
C#调用VC的DLL的接口函数参数类型转换一览表
C#调用VC的DLL的接口函数参数类型转换一览表_蓝竹傲雪 [ http://hi.baidu.com/zifan/blog/item/3fe4cf1b4cb2d3f2af5133dc.html ] ...C#调用VC的DLL的接口函数参数类型转换一览表2009-03-19 17:51handle---------IntPtrhwnd-----------I转载 2012-09-14 10:45:00 · 564 阅读 · 0 评论 -
C#中listview实现排序
【问题】:当点击列标题的时候,能够完成对该列排序,再次点击,按照该列反序排序。 【解决方法】:使用IComparer接口。 例子:1.using System;using System.Collections.Generic;using System.Text;using System.Collections;using System.Windows.For转载 2013-01-07 10:09:35 · 2906 阅读 · 0 评论 -
C#序列化及反序列化:类实例和string类型之间转换
[Serializable] public class ClassB { public int X; public int Y; public ClassB() { X = 3; Y = 4; } } [Seria原创 2016-03-30 13:37:18 · 3265 阅读 · 0 评论 -
C# Enum,Int,String的互相转换 枚举转换
Enum为枚举提供基类,其基础类型可以是除 Char 外的任何整型。如果没有显式声明基础类型,则使用 Int32。编程语言通常提供语法来声明由一组已命名的常数和它们的值组成的枚举。注意:枚举类型的基类型是除 Char 外的任何整型,所以枚举类型的值是整型值。Enum 提供一些实用的静态方法:(1)比较枚举类的实例的方法(2)将实例的值转换为其字符串表示形式的方法(3)将数字转载 2016-03-11 09:06:50 · 398 阅读 · 0 评论