摘要:许多图像处理任务即时是最简单的文件类型转换,例如从32位深度到8位深度的格式转化,直接获得像素阵列要比使用GetPixel和SetPixel等方法的效率高得多。 你可能会发现DotNet采用托管机制,大多数情况下微软会推荐你使用托管代码,理由是便捷和安全。实际应用中,直接操作内存中的数据块是很少见的,尽管如此,图像处理恰恰是这类为数不多的情况之一,因为使用托管代码的效率低的难以忍受,特别是对巨幅图... 阅读全文
DataTable 行删除
2014-12-24 15:08 by xiashengwang, 4262 阅读, 3 推荐, 收藏, 编辑
摘要:今天在阅读一个项目中的代码时,发现删除DataTable的数据时用的dataTable.Clear(); 由于以前自己习惯都是用dataTable.Rows.Clear();因此突然感觉到很茫然,难道这两者有啥不一样?于是一阵百度,Bing搜索,在加上Reflector的帮助,结论如下:1,data... 阅读全文
exec和sp_executesql
2014-12-18 18:14 by xiashengwang, 488 阅读, 0 推荐, 收藏, 编辑
摘要:sqlserver中的exec和sp_executesql都能执行动态的sql语句和存储过程,但exec用法较为简单,不能带参数,也没有返回参数。 sp_executesql则显得功能更加完善,可以用输入参数和输出参数,下面这个例子记录了sp_executesql的用法。declare @sql nvarchar(1000),
@oazaName varchar(20),
@cnt int
set... 阅读全文
sql 拼接同列的值
2014-12-10 16:51 by xiashengwang, 867 阅读, 0 推荐, 收藏, 编辑
摘要:sql中有时需要将列的值转成行的形式,比如下面的数据,具有相同Path的ZumenID有哪一些,该怎么做呢? 常见的做法可以参见这篇文章http://www.cnblogs.com/xiashengwang/p/3503554.html 这里介绍另外一种拼接列的值的方法,利用xml实现。参见这篇文章http://www.cnblogs.com/yuefei/p/3799513.html 不过这... 阅读全文
FileTable使用总结
2014-10-21 14:06 by xiashengwang, 780 阅读, 0 推荐, 收藏, 编辑
摘要:sqlsever2012以后才开始支持FileTable,具体的FileTable的介绍可以参考微软的官网 http://msdn.microsoft.com/zh-cn/library/gg509097.aspx 启用FileTable也很简单,可以参考: http://jimshu.blog.51cto.com/3171847/872715 与路径相关的几个函数使用 全路径的组成形式如下: \... 阅读全文
Windows API 常用函数
2014-10-15 14:21 by xiashengwang, 3025 阅读, 0 推荐, 收藏, 编辑
摘要:.Net中虽然类库很强的,但还是有些时候功能有限,掌握常用的api函数,会给我们解决问题提供另一种思路,下面给出自己常用到的Api函数,以备查询。 知道api函数,但却不知道c#或VB.net该如何声明,可以查询这个网站:http://pinvoke.net/ 1,SetForegroundWindow 将窗口显示到最前面,前提是窗口没有最小化。 [DllImport("User32.dl... 阅读全文
winform上控件的拖拽小结
2014-10-14 15:25 by xiashengwang, 11645 阅读, 1 推荐, 收藏, 编辑
摘要:这里罗列出几个相关的事件和属性,具体的实现介绍已有非常优秀的文章了,文章末尾我将会给出,大家可以去参考。 属性: AllowDrop: 目标控件必须设定为true,才能接受拖拽来的东西。 事件: ItemDrag: 源控件在拖动开始时发生。在这里需调用DoDragDrop方法开始拖拽行为。 DragEnter:目标控件接受到拖拽行为时发生。在这里可以通过e.Effect设定目标控件能接受的拖拽行为... 阅读全文
【进阶修炼】——改善C#程序质量(10)
2014-10-09 16:36 by xiashengwang, 430 阅读, 0 推荐, 收藏, 编辑
摘要:158,不要写冗余注释。 注释应该写代码没有表达的东西。 代码能够自我描述就不要加注释。 159,废弃的注释应该尽早删除。 废弃的注释由于年代太久远,已经和现在的代码逻辑不匹配了,这样的注释只会误导人,应该删除。 160,注释掉的代码。 这是一个灾难,没有人知道它还有没有用,一直被遗留下来,然后代码不断的腐朽下去,勇敢的删除它吧,版本管理工具会记得它。 160,死函数。 死函数,即没有被调用... 阅读全文
【进阶修炼】——改善C#程序质量(9)
2014-10-09 16:35 by xiashengwang, 347 阅读, 0 推荐, 收藏, 编辑
摘要:140,使用默认的访问修饰符。 如果不加访问修饰符,成员变量的默认是private的,类默认是internal的。为了明确访问的权限,我倒是建议都加上访问修饰符,这省不了多少代码。 141,不知道该不该加大括号的时候就加上。 大括号会多占用两行代码,到底一行语句的代码需不需要加大括号这是一个争论。但是为了避免引入不必要的bug还是加上吧。 142,总是提供有意义的命名。 我们不希望看到如iTe... 阅读全文
【进阶修炼】——改善C#程序质量(8)
2014-10-09 16:34 by xiashengwang, 308 阅读, 0 推荐, 收藏, 编辑
摘要:122,以.作为命名空间。 如Microsoft.Windows.Design。也可以用域名作为空间,如www.microsoft.com,就可以写成com.microsoft. ,这种命名方法在java中比较常见。但.net中似乎不是很推荐,最好用第一种。好的命名空间可以避免不同程序集间类名的冲突。 123,程序集不必与命名空间同名。 程序集名称表示的是物理分组,而命名空间是逻辑分组,两者没有... 阅读全文