风之语者

博客园 首页 新随笔 联系 订阅 管理

随笔分类 -  .NET

摘要:基于ikvm的rocketmq的c#客户端,由于阿里对c#不敏感,对这方面的东西缺少。因为工作需要弄了一个,分享给大家 https://github.com/franknew/RocketMQ-Client 如何使用: 1.添加引用 IKVM.OpenJDK.Charsets.dll IKVM.Op 阅读全文
posted @ 2017-08-07 15:49 风之语者 阅读(2229) 评论(1) 推荐(1) 编辑

摘要:MapReduce方法主体: 1 public static IDictionary<TKey, TResult> MapReduce<TInput, TKey, TValue, TResult>(this IList<TInput> inputList, 2 Func<MapReduceData< 阅读全文
posted @ 2015-01-30 16:13 风之语者 阅读(1663) 评论(0) 推荐(0) 编辑

摘要:方法1:利用DataTable中的Compute方法View Code 1 string expression = "1+2*3";2 DataTable eval = new DataTable();object result = eval.Compute(expression, “”);方法2:... 阅读全文
posted @ 2012-10-22 10:34 风之语者 阅读(8655) 评论(2) 推荐(1) 编辑

摘要:c#3.0(VS2008)支持在任何类型上扩展生成自定义的方法。比如说想在string类型的对象里面多一个ToInt32(),来方便的将字符转换成整形。在实现的过程中的关键字为static和this下面我们来做一个在string类型中新建一个ToInt32的自定义方法View Code public static class Extension//必须先声明一个静态类,类名随意 { public static int ToInt32(this string In)//扩建的方法必须是静态方法,参数里面必须含有this关键字,this关键字后面的类型为需要扩展的类型 { return Conve 阅读全文
posted @ 2011-07-29 10:10 风之语者 阅读(7664) 评论(3) 推荐(2) 编辑

摘要:在网上看到一个面试题,是怎么在10万个手机号码中把重复的号码筛选出来。想了一下,可以先使用快速排序法进行排序,然后再逐条循环和相邻号码匹配,这样重复的号码就出来了。如果分段进行的话可以适当减小算法的复杂度。而且可以通过多线程充分利用CPU性能。使用mapreduce简直不要太容易了。var resu... 阅读全文
posted @ 2011-07-21 10:17 风之语者 阅读(8743) 评论(48) 推荐(1) 编辑

摘要:弄了半天,查了很多资料,原来是类中没有含有参数为空的构造函数造成。如果要根据xmlserializer来把对象序列化成XML,必须至少有一个参数为空的构造函数,否则就会报该类型错误。 阅读全文
posted @ 2011-07-20 22:35 风之语者 阅读(5685) 评论(3) 推荐(0) 编辑

摘要:SOA:面向服务的架构SOA的优缺点在这里就不浪费文字论述了,请参考:http://www.ibm.com/developerworks/cn/webservices/ws-goodbad/index.html目前实现SOA的.NET技术有以下几种1.Web Service2.Socket3.Remoting4.WCF(Windows Communication Foundation)这几种技术有以下优缺点1.Web Service:成熟的技术,Windows中有IIS强力支持,开发简单,上手容易。但是底层自由度小,无法定制自己的安全验证,只能基于HTTP协议,无法推送数据。不过绝大部分企业和 阅读全文
posted @ 2011-07-08 22:34 风之语者 阅读(6275) 评论(0) 推荐(0) 编辑

摘要:今天心血来潮,想到自己数据结构学的不好,于是查了下快速排序法的原理,实现了一个玩玩。算是对自身知识的补充。View Code public class Sort { /// <summary> /// 快速排序法(ASC) /// </summary> /// <param name="SortInt"></param> /// <param name="StartIndex"></param> /// <param name="EndIndex">& 阅读全文
posted @ 2011-07-05 17:45 风之语者 阅读(1358) 评论(3) 推荐(1) 编辑

摘要:这是一个很恶心的方法,从工具栏上拖一个checkbox控件出来,放在checkboxcolumn的列头,看起来就像datagridview的一部分一样,当然,位置得琢磨准,然后把checkboxcolumns的宽度固定,前面的列和它都无法拉动它的宽度,不然一拉就露陷了。如果是动态生成checkboxcolumn,那这个方法无视好了。 阅读全文
posted @ 2011-07-04 09:47 风之语者 阅读(807) 评论(0) 推荐(0) 编辑

摘要:今天使用HttpWebRequest类访问Web Service一直报“500服务器端错误”,一看Web Service可以正常访问没有问题,构造HttpWebRequest的参数也齐全,弄了半天终于发现,原来是Method的"post"小写了,改成大写"POST"就没问题了,不过也总结出一条经验,以后访问服务器发现"500服务器端错误",如果服务器端没有问题,就要仔细检查客户端的请求格式有没有问题。 阅读全文
posted @ 2011-07-01 14:26 风之语者 阅读(952) 评论(0) 推荐(0) 编辑

摘要:在.net下进行网络编程其实也相对比较简单,因为在.net类库已经提供了大量封装好的类。在.net下网络编程比较底层的类是System.Net.Sockets.Socket类,这个类提供了丰富的方法和属性,并且还提供了异步数据传输支持。对Socket类做一个简单的介绍,它有如下常见方法:public Socket Accept ():为新建连接创建新的 Socket。public void Bind (EndPoint localEP):使 Socket 与一个本地终结点相关联。public void Close ():关闭 Socket 连接并释放所有关联的资源。注意这个方法有冲载方法。pu 阅读全文
posted @ 2011-06-29 11:02 风之语者 阅读(1212) 评论(0) 推荐(0) 编辑

摘要:暴力画上去一个checkbox以后并不一定需要用它自定义的checkbox选中状态改变事件,我们还可以用DataGridView的ColumnHeaderClick事件去做这个效果,这样的编程风格更符合Winform开发的风格。View Code private void dgvDateGridView_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e){ if (e.ColumnIndex == dgvDataGridView.Columns["Checked"].Index)// 阅读全文
posted @ 2011-06-20 17:30 风之语者 阅读(590) 评论(0) 推荐(1) 编辑

摘要:今天程序老是后台运行在某处就自动停止了(查询数据查到一半就说查完了),弄了半天发现原来是中途报错了,但是BackgroundWorker没有抛出异常。导致看起来一切正常,但是数据就是不对。悲剧啊,为什么不抛出异常,错了没关系啊,你说出来啊,为什么不告诉我....... 阅读全文
posted @ 2011-06-20 16:54 风之语者 阅读(385) 评论(3) 推荐(0) 编辑

摘要:DataGridView中没有中有checkboxcolumn,但是该column不是checkbox的列头,这让人很郁闷,关于这个问题有3种解决方法,这里介绍一种比较暴力的方法,手画checkboxcolumnheader.View Code #region datagridview列头加checkbox public class DatagridViewCheckBoxHeaderCell : DataGridViewColumnHeaderCell { Point checkBoxLocation; Size checkBoxSize; bool _checked = false; Po 阅读全文
posted @ 2011-06-20 14:27 风之语者 阅读(1799) 评论(1) 推荐(1) 编辑