代码改变世界

随笔分类 -  .NET

DataTable转数组和数组转字符串

2023-07-18 23:12 by sunice, 207 阅读, 收藏, 编辑
摘要: DataTable转数组: string[] array=Array.ConvertAll<DataRow, string>(ds.Tables[0].Rows.Cast<DataRow>().ToArray(), r => r["ID"].ToString()); 数组转字符串: string[] 阅读全文

C#获取DataTable指定列的值

2023-06-23 12:03 by sunice, 1513 阅读, 收藏, 编辑
摘要: List<int> OrderIDList1 = (from d in ds.Tables[0].AsEnumerable() select d.Field<int>("OrderID")).ToList(); List<int> OrderIDList2 = ds.Tables[0].AsEnum 阅读全文

使用C#改变windows系统本地时间

2020-12-03 17:35 by sunice, 1276 阅读, 收藏, 编辑
摘要: 当我们从他人的服务器上获取数据的时候,因为客户端和服务器时间不同步的原因导致获取数据失败。有时候需要同步时间服务器, 当怎么同步时间服务器都没用的时候,我们可以适当的更改本地系统时间。 在windows更改本地时间的通常做法是时: 1,首先定义一个结构体 1 [StructLayout(Layout 阅读全文

.NET资源泄露与处理方案

2019-11-25 12:13 by sunice, 400 阅读, 收藏, 编辑
摘要: .NET虽然拥有强大易用的垃圾回收机制,但并不是因为这样,你就可以对资源管理放任不管,其实在稍不注意的时候,可能就造成了资源泄露,甚至因此导致系统崩溃,到那时再来排查问题就已经是困难重重。 一、知识点简单介绍 常见的资源泄露有: 内存泄漏:非托管资源没有释放、非静态对象注册了静态实例。 GDI泄露: 阅读全文

.NET轻松写博客园爬虫

2019-08-30 11:18 by sunice, 302 阅读, 收藏, 编辑
摘要: 爬虫,是一种按照一定的规则,自动地抓取网站的程序或者脚本。.NET写爬虫非常简单,并能轻松优化性能。今天我将分享一段简短的代码,爬出博客园前200页精华内容,然后通过微小的改动,将代码升级为多线程爬虫,让爬虫速度提升数倍;最后将对爬到了内容进行一些有趣的分析。 本文演示的代码,可以从这里下载:htt 阅读全文

DataTable如何去除重复的行

2019-02-22 16:45 by sunice, 564 阅读, 收藏, 编辑
摘要: 两种方法1 数据库直接去除重复select distinct * from 表名去除了重复行distinct2 对 DataTable直接进行操作DataTable dt=db.GetDt("select * from 表名"); //获得datatableDataView dv = new Dat 阅读全文

C#遍历窗体所有控件或某类型所有控件

2018-12-04 11:12 by sunice, 5764 阅读, 收藏, 编辑
摘要: 遍历某个panel的所有控件 遍历所有TextBox类型控件或者所有DateTimePicker控件 转载: https://www.cnblogs.com/Donnnnnn/p/6088489.html 阅读全文

ClickOnce部署

2018-10-24 14:17 by sunice, 1474 阅读, 收藏, 编辑
摘要: (1):一些发布方式 ClickOnce是什么玩意儿,这个问题嘛,在21世纪的互联网严重发达的时代,估计也没有必要大费奏章去介绍了,弄不好的话,还有抄袭之嫌。因此,有关ClickOnce的介绍,各位朋友可以直接查找MSDN文档,或者看下面这里,这是百度百科上的,其实也是Ctrl + C版本。http 阅读全文

关于(object sender, EventArgs e)

2018-06-25 16:34 by sunice, 204 阅读, 收藏, 编辑
摘要: sender是事件源 就是指发起这个事件的对象(控件)//表示触发事件的那个控件比如说你按下按钮,那么sender就是按钮 又如:textboxchange,sender就是该textbox,在事件处理中就可以用sender代替textbox. 如: (sender as TextBox).Text 阅读全文

Post方式调用wcf服务

2017-10-16 20:47 by sunice, 2754 阅读, 收藏, 编辑
摘要: 我们平常在PC端调用WCF服务,只要知道WCF服务的地址,客户端直接添加引用服务就可以使用了,殊不知还有其他方式,其实,我们也可以 通过HTTP POST的方式调用WCF服务,这样就不用添加引用了,在手机移动端开发后台服务,都是通过Post的形式调用WCF服务,当然,这种方式在PC也可以使用。 我们 阅读全文

RabbitMQ基础学习笔记(C#代码示例)

2017-07-01 22:15 by sunice, 347 阅读, 收藏, 编辑
摘要: 一、定义: MQ是MessageQueue,消息队列的简称(是流行的开源消息队列系统,利用erlang语言开发)。MQ是一种应用程序对应用程序的通信方法。应用程序通过读写入队和出队的消息来通信,无需专用连接来链接它们。 消息传递是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,一 阅读全文

StackExchange.Redis 官方文档(一) Basics

2017-06-30 22:21 by sunice, 2679 阅读, 收藏, 编辑
摘要: 基本使用方法: StackExchange.Redis的核心是 StackExchange.Redis 命名空间的 ConnectionMultiplexer 类;它隐藏了多服务器的实现细节.ConnectionMultiplexer被设计成可以在多个客户端之间分享和复用.不用每次操作都创建一个对象 阅读全文

一步步实现 Redis 搜索引擎

2017-06-30 10:06 by sunice, 438 阅读, 收藏, 编辑
摘要: 下面以一个例子开始,这是某购物网站的搜索条件,如果让你实现这样的一个搜索接口,你会如何实现?(当然你说借助搜索引擎,像 Elasticsearch 之类的,你完全可以实现。但我这里想说的是,如果要你自己实现呢?) 从上图中可以看出,搜索总共分为6大类,每大类中又分了各个子类。这中间,各大类条件之间是 阅读全文

ServiceStack.Redis之IRedisClient(转载)

2017-06-23 21:02 by sunice, 698 阅读, 收藏, 编辑
摘要: 一、属性 IRedisClient的属性如下: 代码示例: 二、IRedisClient数据操作 1、ICacheClient接口 IRedisClient实现了接口ICacheClient,其中ICacheClient主要提供的功能如下: 特别说明,比如添加的主要方法包括两个重载,一个多了个Dat 阅读全文

ajax返回值

2017-06-03 22:34 by sunice, 201 阅读, 收藏, 编辑
摘要: 前端: 后端: 阅读全文

模板方法模式

2017-05-24 22:52 by sunice, 270 阅读, 收藏, 编辑
摘要: 模板方法模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中实现。模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。 当我们完成在某一细节层次一致的一个过程或一系列步骤,但其个别步骤在更详细的层次上的实现可能不同时,通常考虑用模板方法模式来处理。 模板方法模式通过把不变 阅读全文

LINQ多条件OR模糊查询

2017-05-21 09:53 by sunice, 4240 阅读, 收藏, 编辑
摘要: 需求是这样的,有一张表tbl(Key[int],Value[string]),数据存储如下: 现在的目的是要从tbl表中取出所有Value字段的值和List的值匹配的记录。本地有个List<string>{"a","b","c"}; 传统的T-SQL写法是:select * from tbl whe 阅读全文

[C#学习笔记之异步编程模式2]BeginInvoke和EndInvoke方法 (转载)

2017-05-11 22:03 by sunice, 1726 阅读, 收藏, 编辑
摘要: 为什么要进行异步回调?众所周知,普通方法运行,是单线程的,如果中途有大型操作(如:读取大文件,大批量操作数据库,网络传输等),都会导致方法阻塞,表现在界面上就是,程序卡或者死掉,界面元素不动了,不响应了。异步方法很好的解决了这些问题,异步执行某个方法,程序立即开辟一个新线程去运行你的方法,主线程包括 阅读全文

代理模式

2017-04-10 22:58 by sunice, 217 阅读, 收藏, 编辑
摘要: 代理模式:为其它对象提供一个代理,以控制对这个对象的访问。 UML类图 抽象类或者接口: 实现类: 代理类: 客户端: 运行结果: 程序结构: 运算接口: 实现类: 代理类: 客户端: 运行结果: 参考文章: http://www.cnblogs.com/zhenyulu/articles/4812 阅读全文

装饰模式

2017-04-09 22:52 by sunice, 212 阅读, 收藏, 编辑
摘要: 装饰模式:动态的给一个对象添加额外的职责,就增加功能来说,Decorator模式比生成子类更为灵活。。 Decorator模式的工作原理是:可以创建始于Decorator对象(负责新的功能的对象)终于原对象的一个对象“链”。 ConcreteComponent:让Decorator对象为自己添加功能 阅读全文