随笔分类 -  C#

摘要:原文链接:https://www.cnblogs.com/podolski/p/14380360.html 当编写应用程序时,经常性需要花费大量的时间与精力处理业务逻辑,往往业务逻辑的变化需要重构或者增加大量代码,对开发测试人员很不友好。 之前在这篇文章说过,可以使用脚本引擎来将我们需要经常变化的代 阅读全文
posted @ 2021-03-04 19:39 拓荒者IT 阅读(3435) 评论(0) 推荐(1) 编辑
摘要:SFTP是SSH File Transfer Protocol的缩写,安全文件传送协议。安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。 Renci.SshNet.Async 是一款 .NET SFTP 访问组件。使用起来也很简单。 一、 阅读全文
posted @ 2019-09-03 09:59 拓荒者IT 阅读(1950) 评论(0) 推荐(0) 编辑
摘要:在做网站的时候,用到了去除html标签的问题,用正则匹配到html标签,然后replace即可。 public static string ReplaceHtmlTag(string html, int length = 0){ string strText = System.Text.RegularExpressions.Regex.Replace(html, "<[^>]+>", ""... 阅读全文
posted @ 2013-04-03 14:13 拓荒者IT 阅读(27482) 评论(3) 推荐(13) 编辑
摘要:Math.Round()准确的说,这个函数不是四舍五入,而是四舍六入五凑偶,就是说小于4或大于6的该舍该入是没有争议的,而5处在正中间,如果四舍五入则会造成数据的整体偏差,所以采取的原则是:如果舍入位为5,则舍入后最后一位为偶数,这是国际惯例。C# 中没有四舍五入函数,事实上我知道的程序语言都没有四舍五入函数,因为四舍五入算法不科学,国际通行的是 Banker 舍入法 Banker 's rounding(银行家舍入)算法,即四舍六入五取偶。事实上这也是 IEEE 规定的舍入标准。因此所有符合 IEEE 标准的语言都应该是采用这一算法的。下面的这段代码能实现严格的四舍五入:public 阅读全文
posted @ 2013-01-30 10:00 拓荒者IT 阅读(787) 评论(0) 推荐(1) 编辑
摘要:在MSDTC中访问OLE DB数据库的时候,会抛出异常,异常信息大概是:"Microsoft.Jet.OLEDB.4.0”提供程序不支持 ITransactionLocal 接口。本地事务不可用于当前提供程序,或者是与基础事务通信失败。 原来,在创建OLE DB数据库连接的时候,默认是打开了事务的(automatic transaction enlistment),所以如果放在MSDTC中会出现... 阅读全文
posted @ 2013-01-26 16:28 拓荒者IT 阅读(707) 评论(0) 推荐(0) 编辑
摘要:JSON的序列化和反序列化已经成为Web开发必不可少的知识。现在常用的有System.Web.Script.Serialization下的JavaScriptSerializer来进行处理;另外一个比较常用且高效的类库是JSON.NET。在开发一些小的应用时,由于想尽量较少项目的依赖,所以不太愿意使用JSON.NET。JavaScriptSerializer基本上能满足简单的需求,但当一个属性要序列化成别的名字时,就显得力不从心了。还有就是可能业务需要,某些属性不希望在某一个条件下进行序列化。鉴于上面的业务需要,我们就需要自定义一个JavaScriptConverter。自定义JavaScri 阅读全文
posted @ 2013-01-10 23:30 拓荒者IT 阅读(7336) 评论(0) 推荐(2) 编辑
摘要:C#动态编译计算表达式的值,是通过System.CodeDom.Compiler命名空间下的相关类来实现的。其步骤大致为:1.将表达式包装成为可编译的C#代码2.使用反射调用上一步编译的代码。示例如下:在界面上放一个TextBox,用来输入表达式;放一个按钮,用来相应用户点击,以进行表达式的计算;在另外一个TextBox中显示计算结果。对应的xaml代码如下:<Window x:Class="SampleCodeDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/prese 阅读全文
posted @ 2012-12-17 18:08 拓荒者IT 阅读(5571) 评论(0) 推荐(0) 编辑
摘要:原文链接:http://www.cnblogs.com/uu102/archive/2012/10/12/2721580.html作者在原文中说明了通过C#调用Javascript来解析Json字符串的方法。代码如下: using Microsoft.JScript; using Microsoft.Vsa; using Microsoft.JScript.Vsa; public static Dictionary<string, string> GetMyValue(string jsonSource, string key1, str... 阅读全文
posted @ 2012-10-12 18:03 拓荒者IT 阅读(734) 评论(0) 推荐(2) 编辑
摘要:static public object ChangeType(object value, Type type) { if (value == null && type.IsGenericType) return Activator.CreateInstance(type); if (value == null) return null; if (type == value.GetType()) return value; if (type.IsEnum) ... 阅读全文
posted @ 2012-07-26 14:38 拓荒者IT 阅读(16473) 评论(3) 推荐(6) 编辑
摘要:通常我们使用JavaScriptSerializer或者JSON.NET来序列化一个对象,但对于Datatable来说,其包含的数据比它的可序列化的属性更重要。 我尝试把DataRow转化为一个Directory对象,然后将每一个Directory对象放入List中,最终生成的是DataRow的数组,代码如下: /// <summary> /// DataTable转为json /// </summary> /// <param name="dt">DataTable</param> /// <returns>.. 阅读全文
posted @ 2012-06-18 11:55 拓荒者IT 阅读(10183) 评论(1) 推荐(4) 编辑
摘要:DynamicMethod类允许在运行时生成和执行方法,而不必生成动态程序集和动态类型来包含该方法。动态方法是生成和执行少量代码的最有效方式。 动态方法在逻辑上与模块或类型关联。如果与模块关联,动态方法对于该模块在全局范围内有效。如果有足够的权限,动态方法可以跳过实时 (JIT) 可见性检查,访问在该模块中所声明类型的私有数据。可以将动态方法与任何模块关联,无论该模块是否由您创建。 如果动态方法与类型关联,动态方法可以访问该类型的私有成员。除非动态方法需要访问在同一模块中声明的其他类型的私有数据,否则无需跳过 JIT 可见性检查。可以将动态方法与任何类型关联。 无需对动态方法及其参数... 阅读全文
posted @ 2012-06-11 23:27 拓荒者IT 阅读(4774) 评论(3) 推荐(1) 编辑
摘要:DataTable的Compute的功能可谓强大。public object Compute( string expression, string filter);expression:要执行计算的表达式filter:过滤表达式这两个表达式都是用Sql语法,例如:table.Compute("sum(count)", "count>0");当我们的table中有count和price列时,如果要计算总金额,应该如何写表达式呢?table.Compute("sum(count*price)", "");你肯定会 阅读全文
posted @ 2012-05-29 15:45 拓荒者IT 阅读(4933) 评论(0) 推荐(3) 编辑
摘要:原文地址:http://www.cnblogs.com/coolcode/archive/2009/11/10/Ninject.html前言前段时间看Mvc最佳实践时,认识了一个轻量级的IOC框架:Ninject。通过google搜索发现它是一个开源项目,最新源代码地址是:http://github.com/enkari/ninject/tree/master用户向导:http://ninject.codeplex.com/wikipage?title=User%20Guide&referringTitle=Home建议新手请先看看Ninject的介绍:What Is NinjectW 阅读全文
posted @ 2012-05-28 10:55 拓荒者IT 阅读(6102) 评论(2) 推荐(7) 编辑
摘要:添加引用:使用NuGet,命令:install-package Newtonsoft.Json实体类: public class Book { public string BookID { get; set; } public DateTime PublishDate { get; set; } public decimal Price { get; set; } public override string ToString() { return "ID:" + BookID + "; D... 阅读全文
posted @ 2012-05-28 10:22 拓荒者IT 阅读(37478) 评论(1) 推荐(9) 编辑
摘要:反射提供了封装程序集、模块和类型的对象(Type 类型)。可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。如果代码中使用了属性,可以利用反射对它们进行访问。 程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。反射通常具有以下用途:使用Assembly定义和加载程序集,加载在程序集清单中列出的模块,以及从此程序集中查找类型并创建该类型的实例。使用Module了解如下的类... 阅读全文
posted @ 2012-04-27 15:50 拓荒者IT 阅读(2211) 评论(1) 推荐(2) 编辑
摘要:看了园子里的一系列关于生成CHM的文件的方式,主要是这些:C#生成CHM文件(入门篇)http://www.cnblogs.com/alexis/archive/2010/09/29/1837909.htmlC#生成CHM文件(中级篇)http://www.cnblogs.com/alexis/archive/2010/09/30/1839032.htmlC#生成CHM文件(应用篇)http://www.cnblogs.com/alexis/archive/2010/10/16/1853275.html 自己就想写一个从网上下载页面,然后将页面编译成CHM的小程序。现在把源代码提供出来:... 阅读全文
posted @ 2012-04-24 11:37 拓荒者IT 阅读(2078) 评论(0) 推荐(0) 编辑
摘要:原文链接:http://developer.51cto.com/art/200908/145675.htm在通常的C#开发中,你是怎么通过C#读取文件信息的?C#给我们提供了非常强大的类库(又一次吹捧了.NET一番),里面封装了几乎所有我们可以想到的和我们没有想到的类,流是读取文件的一般手段,使用流读取。是的没错,那么你真的会用它读取文件中的数据了么?真的能读完全么?通常我们使用C#读取文件信息使用如下的步骤:1、声明并使用File的OpenRead实例化一个文件流对象,就像下面这样FileStream fs = File.OpenRead(filename);或者FileStream fs 阅读全文
posted @ 2012-04-12 11:39 拓荒者IT 阅读(2393) 评论(0) 推荐(0) 编辑
摘要:原为地址:http://www.cnblogs.com/gaoweipeng/archive/2009/09/02/1558279.html文章作者:高维鹏(Brian)文章出处:http://www.cnblogs.com/gaoweipeng在搜索引擎的开发中,我们需要对网页的Html内容进行检索,难免的就需要对Html进行解析。拆分每一个节点并且获取节点间的内容。此文介绍两种C#解析Html的方法。第一种方法:用System.Net.WebClient下载Web Page存到本地文件或者String中,用正则表达式来分析。这个方法可以用在Web Crawler等需要分析很多Web Pag 阅读全文
posted @ 2012-04-11 18:47 拓荒者IT 阅读(1237) 评论(0) 推荐(0) 编辑
摘要:C#中用Guid.NewGuid().ToString()Sql中用NEWID()以上方法生成的是36位的GUID,如果需要转换成32位,则需要替换掉其中的'-'字符。Sql中的方法:replace(newid(), '-', '')------------------------------------------ GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成GUID的API。生成算法很有意思,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。GUID的唯一缺陷在于 阅读全文
posted @ 2012-04-06 10:30 拓荒者IT 阅读(52541) 评论(4) 推荐(5) 编辑
摘要:这种用处很大,比如权限、执行状态等,都可以用一个int型保存到数据库中,C#中使用枚举可以处理这个问题。 [Flags] public enum Permission { create = 1, read = 2, update = 4, delete = 8, }C#对该类型的操作如下: Permission permission = Permission.create | Permission.read | Permission.update | Permission.de... 阅读全文
posted @ 2011-12-16 10:33 拓荒者IT 阅读(6123) 评论(0) 推荐(5) 编辑

点击右上角即可分享
微信分享提示