c#高级编程
文章平均质量分 80
温水的小青蛙2023
躺平后的崛起,不知不觉成了温水中青蛙,现在想要努力的跳出去
展开
-
ZIP——内存压缩多个文件
using ICSharpCode.SharpZipLib.Zip;namespace MindExportLearning.Util{ /// /// 压缩和解压文件 /// public class ZipUtil { /// /// 内存压缩多个文件 /// /// 文原创 2018-01-29 14:22:52 · 1632 阅读 · 0 评论 -
c#——计算执行时间
var watch = new Stopwatch(); watch.Start(); …………………… watch.Stop(); return watch.Elapsed原创 2016-09-01 16:28:44 · 591 阅读 · 0 评论 -
c#——Winform PropertyGrid使用(二)
PropertyGrid 自定义下拉首先绘制自定义下拉的控件,使用UserControl,当然也可以下拉窗体。我们这里使用的 是 UserControl代码如下:using System.Reflection.Emit;using System.Windows.Forms;using System.Windows.Forms.Design;using Jura原创 2016-07-20 10:31:38 · 2943 阅读 · 0 评论 -
c#——Winform DatagridView上显示下拉树(二)
除了能够显示可下拉的树,提供选择。当树中数据比较多的时候,我们肯定还希望能够对树中内容进行查询,于是扩展继续首先需要看上一篇博客http://blog.csdn.net/Shiyaru1314/article/details/51920494基于上一篇这里再做一些扩展当然其实查询也可以放在我们实际的模块中在进行操作但是为了能够对扩展的空间重复方便的使用,就在扩展控件原创 2016-07-19 19:29:02 · 2891 阅读 · 0 评论 -
c#——Winform TreeView 赋值(id,name,pid)类型数据
没想到给treeview赋值这么麻烦还要用递归不想多说,直接上代码 var dgvTree = e.Control as DataGridViewTreeViewEditingControl; var items = _presenter.GetPtTree(); //得到所有父节点为null的形成的数组原创 2016-07-28 14:02:49 · 4811 阅读 · 0 评论 -
c#判断字符串是否为汉字
C#三种判断字符是否为汉字的方法判断一个字符是不是汉字通常有三种方法,第一种用 ASCII 码判断,第二种用汉字的 UNICODE 编码范围判 断,第三种用正则表达式判断,以下是具体方法。 1、用ASCII码判断 在 ASCII码表中,英文的范围是0-127,而汉字则是大于127,具体代码如下:1 string text = "是不是汉字,ABC,柯乐义";转载 2016-06-20 15:32:51 · 1103 阅读 · 2 评论 -
c#——Winform DatagridView 扩展支持combobox列自定义DropDownStyle
需求:要求datagridview同一列,每一行显示不同的下拉表内容来提供选择列表项。另外没有下拉内容的行需要支持可输入可编辑。然而,datagridview 自带的DatagridviewcomboboxColumn 默认的下拉样式为dropdownlist,也就是说是不支持输入的,只可选择。下面就是对datagridview的扩展,使之支持自带combobox 随着下拉内容修改其下拉样原创 2016-07-27 11:51:12 · 7657 阅读 · 0 评论 -
c#——Winform PropertyGrid使用
最近被迫调到某部,协助一个配置工具的开发。做winform的开发,这些控件yiji相关的知识还是在学校上课的时候学到的。工作之后,没有接触相关的开发。使用的是SCSF框架,控件使用winform自带控件。但是界面功能要求比较复杂。一开始上手,还是有些困难,同时也有些排斥。但是一想自己这么痛苦,其实就是自己的基础不扎实。慢慢的放松了对自己的要求。任何事情,做就做好。不得不做的时候,就原创 2016-07-15 19:26:11 · 6399 阅读 · 5 评论 -
c#——Winform DatagridView上显示下拉树
Winform的DatagridView是不支持下拉树的,所以需要扩展废话不多说,直接贴代码首先需要对comBox扩展,下拉内容变成TreeViewusing System.Drawing;using System.Windows.Forms;namespace WindowsApplication23{ public class ComboBoxTreeView : C原创 2016-07-15 19:44:08 · 7844 阅读 · 4 评论 -
Json字符串查询
using Newtonsoft.Json;using Newtonsoft.Json.Linq;namespace Json查询{ class Program { static void Main(string[] args) { var input = @" { ""store"": {原创 2016-02-25 19:24:57 · 3746 阅读 · 0 评论 -
c#——Winform DatagridView不同行不同控件显示
DataGridViewRow row = new DataGridViewRow();DataGridViewTextBoxCell textboxcell = new DataGridViewTextBoxCell();textboxcell.Value = "aaa";row.Cells.Add(textboxcell);DataGridViewComboBoxCell co原创 2016-09-08 13:31:00 · 2203 阅读 · 1 评论 -
c#——list中元素转化(ConvertAll select foreach)
ConvertAll 将当前 List 中的元素转换为另一种类型,并返回包含转换后的元素的列表List ls = new List() { "1", "2", "3" };List li = ls.ConvertAll(i=>int.Parse(i));var li = ls.Select(i=>int.Parse(i));string fields = "First Na原创 2016-10-12 09:16:49 · 11105 阅读 · 1 评论 -
Kityminder-editor——二次开发
kityminder-editor 基于kityminder-core搭建,依赖于 AngularJS,包含 UI 和热盒 hotbox 等方便用户输入的功能,简单来说,就是一款编辑器。百度脑图 基于 kityminder-editor。加入了第三方格式导入导出 (FreeMind, XMind, MindManager) 、文件储存、用户认证、文件分享、历史版本等业务逻辑。k原创 2017-08-22 12:09:36 · 14757 阅读 · 6 评论 -
C#——相关的网站、资源和书籍
from:http://blog.csdn.NET/chinacsharper/article/details/17514923一、网站1、http://msdn.microsoft.com/zh-CN/微软的官方网站,C#程序员必去的地方。那里有API开发文档,还有各种代码、资源下载。2、http://social.msdn.microsoft.com/F转载 2017-03-30 09:37:18 · 752 阅读 · 2 评论 -
XML——c#读取带命名空间的xml
使用C#读取xml文件有三种常用的方式:1、xmlDocument2、XmlTextReader3、Linq To Xml但是这些方式在读写有些带命名空间的xml时就不知道怎么办了(例如把xaml文件当作xml文件来读写的时候)。对于xaml文件,C#虽然能用XamlReader直接把xaml文件转换为对象,但是有的时候我们只是想取得其中一些字段,并不想转换为对象。本文就以转载 2017-03-13 20:00:32 · 4234 阅读 · 2 评论 -
XML——c# 实体转xml最佳实践(自定义转化方式)
定义一个接口,包含两个方法:实体转xml 和 xml转实体。包含一个属性根节点标签名称 /// /// 定义元属性实体类与Xml之间的转换接口 /// /// 元属性实体类 public interface IEntitySerialization { /// /// 将实体类T使用转为XML 数据写到流、文件、文原创 2017-03-13 20:21:25 · 5539 阅读 · 3 评论 -
JSON——Json对象扁平化
一个层级结构很深的json对象如下:/* 0 */{ "_id" : ObjectId("576ca115c2de3628cc10edfe"), "IIid" : "67EE1C0C6281897283928D56407D4CE9", "IndexedDate" : ISODate("2016-06-24T02:54:41.152Z"), "Usage" : { "M原创 2016-09-02 14:19:42 · 8476 阅读 · 0 评论 -
JObject——转化为字典IDictionary<string, object>
代码如下: /// /// JObject扩展 /// public static class JObjectExtensions { /// /// 将JObject转化成字典 /// /// /// public static IDictionary原创 2016-12-23 16:08:43 · 10653 阅读 · 0 评论 -
c#——Enum之自定义属性
定义枚举类型的备注特性,作为数据展示使用代码非常简单,只需要继承Attribute,写自定义属性即可 /// /// 备注特性 /// public class RemarkAttribute : Attribute { public RemarkAttribute(string remark) {原创 2016-10-25 15:00:45 · 5994 阅读 · 0 评论 -
c#——Enum之Json序列化
对象中包含枚举类型,在序列化成Json字符串的时候,显示的是枚举类型对应的数字。需要在JSON转化的时候做一些操作,使之显示字符串在枚举类型上添加属性标签 [JsonConverter(typeof(StringEnumConverter))]举例如下:包含枚举类型的对象定义 [DataContract] public class Definitio原创 2016-10-17 17:16:26 · 9388 阅读 · 0 评论 -
c#——字典转化为对象(dictionary to object)
/// /// 字典类型转化为对象 /// /// /// public T DicToObject(Dictionary dic) where T : new() { var md = new T(); CultureInfo cultureIn原创 2016-10-25 09:29:38 · 18283 阅读 · 1 评论 -
WEB API 使用空间数据类型 发布出错
Any application that uses Entity Framework’s spatial data type support to target SQL Server requires the ‘CLR Types for SQL Server’ to be available on the machine the application runs on. This als原创 2016-01-06 16:10:53 · 1124 阅读 · 0 评论 -
又学一招—— Nullable<T>比较
问题是这样 :数据库中有一个字段是GUID类型的,而且允许为空。通过ORM映射成的试题中该字段就是GUID?类型的,也就是本文所说的Nullable类型然后功能需求是:要与数据库中该字段进行比较,传进看参数是GUID类型错误就发生了:然后我们来了解一下nullable类型 [Serializable] [TypeDependency("Syste原创 2015-12-30 09:49:58 · 2321 阅读 · 0 评论 -
JObject——直接转化为已知的对象类型
public class TMC { public TMC() { TagMatchConditions = new Dictionary>(); DateRange = new Dictionary>(); } public Dictionary> TagMatchCondi原创 2015-11-24 17:59:27 · 21892 阅读 · 0 评论 -
C# Winform——两个窗体之间通信!!!
c#窗体通信原创 2015-05-27 13:25:44 · 7877 阅读 · 2 评论 -
BackgroundWorker实现进度条
1.使用场景BackgroundWorker 类允许在单独的专用线程上运行操作。 耗时的操作(如下载和数据库事务)在长时间运行时可能会导致用户界面 (UI) 似乎处于停止响应状态。 如果您需要能进行响应的用户界面,而且面临与这类操作相关的长时间延迟,则可以使用 BackgroundWorker 类方便地解决问题。2.包含事件若要为后台操作做好准备,请添加 D原创 2015-05-14 17:15:44 · 1697 阅读 · 0 评论 -
c#项目引用异常解决方案
在同一个解决方案中有多个项目:项目之间引用,低版本的不能引用高版本的。更改目标框架的类型,就可以正常引用了。原创 2015-05-14 10:35:57 · 3610 阅读 · 0 评论 -
c#事件与委托
public Form1() { InitializeComponent(); this.cb.CheckedChanged += cb_CheckedChanged2; this.cb.CheckedChanged += cb_CheckedChanged1; } public原创 2015-04-17 14:39:25 · 748 阅读 · 0 评论 -
C#扩展方法本质
原则:1、扩展方法是一个补丁的概念,在一个进程(一个程序集)的范围内,给某个类型临时加上方法。所以扩展方法不能写在嵌套类,应该在程序集的全局区,这个程序集的顶级类中。而且要求有二(在static类中,是一个static方法),this是它和一般的方法的区别符2、扩展方法当然不能破坏面向对象封装的概念,所以只能是访问所扩展类的public成员。3、两种使用方法:转载 2015-04-17 11:55:20 · 1737 阅读 · 0 评论 -
反射基础
反射基础 反射用于在程序运行过程中,获取类里面的信息或发现程序集并运行的一个过程。通过反射可以获得.dll和.exe后缀的程序集里面的信息。使用反射可以看到一个程序集内部的类,接口,字段,属性,方法,特性等信息。一、各种GetType()、typeof的区别 首先就是获取Tyoe对象的来源不同: class Program { st转载 2015-04-16 10:46:57 · 656 阅读 · 0 评论 -
反射机制
c# 反射原创 2015-04-15 09:18:36 · 735 阅读 · 0 评论 -
委托——Func与Action
Func与Action平时我们如果要用到委托一般都是先声明一个委托类型,比如:private delegate string Say();string说明适用于这个委托的方法的返回类型是string类型,委托名Say后面没有参数,说明对应的方法也就没有传入参数。写一个适用于该委托的方法: public static string SayHel转载 2015-04-16 10:37:00 · 618 阅读 · 0 评论 -
web.config配置文件详解
花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法。很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点。所以这里只介绍一些比较常用的节点。xml version="1.0"?>注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的“网站”->“Asp.Net 配转载 2015-04-15 18:43:56 · 755 阅读 · 0 评论 -
c#中关于泛类型(泛型)、强类型和弱类型
[泛型的概念](1)没有泛型的时候,所有的对象都是以object为基础,如果要使用时必须进行强制类型转换,如果对于值类型,则会导致不断拆箱装箱的过程,对系统消耗很大。(2)使用泛型时不需要通过object类进行装箱拆箱,使用的时候都会是确定的类型。(3)泛型的概念一开始是由集合引入,因为集合中的类型都是基于object类。可以在集合中使用泛型类。(4)泛型不仅仅用于原创 2015-09-02 10:27:03 · 1879 阅读 · 0 评论 -
实体类与DataTable的转化(适用任意类型)
/// /// DataTable与实体类互相转换 /// /// 实体类 public class ModelHandler where T : new() { #region DataTable转换成实体类 /// /// 填充对象列表:用DataSet的第一个表填充实体类 ///原创 2015-09-06 18:12:42 · 1434 阅读 · 0 评论 -
c#——标准Dispose模式的实现
摘要:C#程序中的Dispose方法,一旦被调用了该方法的对象,虽然还没有垃圾回收,但实际上已经不能再使用了。所以使用上要仔细考虑细节。 需要明确一下C#程序(或者说.NET)中的资源。简单的说来,C#中的每一个类型都代表一种资源,而资源又分为两类: 托管资源:由CLR管理分配和释放的资源,即由CLR里new出来的对象; 非托管资源:不受CLR管理的对象,wi转载 2015-10-30 17:13:23 · 822 阅读 · 0 评论 -
C# ——List<Enum> 转化为List<string>
public enum SearchMethod { TSearch, FSearch, PSearch, CSearch, BSearch } var methodParams = new List() { "TSearch","FSearch"}; //将原创 2015-11-23 11:35:20 · 3785 阅读 · 0 评论 -
c#——表达式树在LINQ动态查询
一般如果逻辑比较简单,只是存在有的情况多一个查询条件,有的情况不需要添加该查询条件简单方式这样操作就可以了public IQueryable DynamicChainedSyntax (IQueryable files, bool pastOnly){ var query = files.Where(file => file.ImportDate > DateTime.No原创 2015-10-30 11:22:13 · 7125 阅读 · 1 评论 -
c#——ExpessionTree(表达式树)
表达式树是.NET 3.5之后引入的,它是一个强大灵活的工具(比如用在LINQ中构造动态查询)。 表达式树的语法如下:Expression> = (param) => lamdaexpresion; 吃个栗子:Expressionint, int, int>> expr = (x, y) => x+y;这就是一个表达式树了。使用Expressio原创 2015-10-30 09:49:24 · 3923 阅读 · 1 评论 -
c#—— Task.FromResult 的使用
Task.FromResult用来创建一个带返回值的、已完成的Task。 场景一:以同步的方式实现一个异步接口方法 比如有一个接口包含异步方法。 interface IMyInterface{ Taskint> DoSthAsync();} 现在,需要以同步的方式实现该接口方法DoSthAsync,但要返回异步的结果。这正是Task原创 2015-10-28 20:20:44 · 6963 阅读 · 0 评论