木子屋 Dnawo's BLOG

分类:Web编程

共 938 篇

比较VB.NET的And和C#的&&

先看两个例子: VB.NET: C#: 可见,当第一个条件为Flase时,VB.NET仍会再判断第二个条件,而C#则不理会第二个条件,直接返回结果。当第二条件依赖于第一个条件时,VB.NET语句结构得稍加修改,否则程序可能出错: 正确的写法: C#则比较简洁: VB.NET的Or和C#的||也有类似的结果,当第一个条件为True时,VB.NET仍会判断第二个条件,而C#则直接返回结果!

C#获取Unix时间戳

Unix时间戳是指从1970-01-01 00:00:00开始到某个时间所经历的秒数,C#没有相关方法直接获取,网上搜了两个相关方法:

.NET数据集(xsd)使用in查询

在数据集(xsd)中有时我们要进行in查询: vs自动为我们生成了方法: 注意,这边id是int类型,虽然在属性面板中我们可以将id改为string类型,但最终仍是不能查询: 变通下,使用charindex代替in可实现要求: ACCESS版:

一句话完成多条件查询

例如有这么一张表: 有时我们需要根据名字进行查询; 有时我们需要根据年龄进行查询; 有时又需要根据名字和年龄进行查询; 以前都是通过拼接sql语句完成: 今天发现不用拼接sql语句,一句话就能完成sql多条件查询: MSSQL版: ACCESS版:

.NET数据集(xsd)使用模糊查询

当指定如下SQL语句进行查询时: 生成的方法为: 参数CompanyName丢失了,SQL语句稍做修改: 这样生成的方法为: 总算正确了,调用如下: 注意添加%!

C# short转byte

short占2个字节,byte占1个字节,因而不能直接将short转换成byte,如果强制进行转换,结果可能会不正确。正确的做法是将一个short转为一个byte: 我们知道,每个Unicode字符占用2个字节,那么按上边的思路将Unicode字符转成byte也就容易了: 测试发现:short的取值范围为,将编码大于32767的字符转为short时结果为负数,但不影响转化成byte的结果,也可考虑将short转换成ushort。

C# BinaryWriter和StreamWriter一些区别

1.BinaryWriter生成的文件没有BOM,StreamWriter生成的文件有BOM 2.BinaryWriter可以直接写入2字节有符号整数,StreamWriter不支持 3.BinaryWriter不支持设置字节顺序,StreamWriter 支持设置字节顺序 从测试结果可知BinaryWriter都是按little-endian字节顺序写入的,并且不提供字节顺序标记(BOM);StreamWriter可设置写入的字节顺序,以及是否提供字节顺序标记。

C#移位运算符小节

左移运算符(2=0011001,1100100右移两位后为 口口11001,补0后为0011001。 比较有意思的东西 10进制中左移一位相当于是添加一个0,即扩大了10的一次方倍,左移两位则是添加两个0,即扩大了10的二次方倍;同理,2进制左移一位也是添加了一个0,即扩大了2的一次方倍,左移两位则是添加两个0,扩大了2的二次方倍,那么就有下边的关系: n4,相当于 n/16

Effective C# 原则21:用委托来表示回调

我:“儿子,到院子里除草去,我要看会书。” 斯科特:“爸,我已经打扫过院子了。” 斯科特:“爸,我已经把草放在除草机上了。” 斯科特:“爸,除草机不能启动了。” 我:“让我来启动它。” 斯科特:“爸,我做好了。” 这个简单的交互展示了回调。我给了我儿子一个任务,并且他可以报告状态来(重复的)打断我。而当我在等待他完成任务的每一个部份时,我不用阻塞我自己的进程。他可以在有重要(或者事件)状态报告时,可以定时的打断我,或者向我询求帮助。回调就是用于异步的提供服务器与客户之间的信息反馈。它们可能在多线程中,或者可能是简单的提供一个同步更新点。在C#里是用委托来表示回调的。 委托提供了一个类型安全的回调定义。尽管委托大多数是为事件使用的,但这不应该是C#语言中唯一使用这一功能的地方。任何时候,如果你想在两个类之间进行通信,而你又期望比使用接口有更少的偶合性,那么委托是你正确的选择。委托可以让你在运行确定(回调)目标并且通知用户。委托就是包含了某些方法的引用。这些方法可以是静态方法,也可以是实例方法。使用委托,你可以在运行时确定与一个或者多个客户对象进行交互。…

.NET实现DataSet转Excel

这边我们借助一个组件MyXls来生成Excel,代码比较简单,下边的类实现将DataSet或DataTable转成Excel: 调用示例: 效果图: 经测试生成的Excel使用Excel2000、Excel2003均能正常打开! MyXls官方站点:http://myxls.in2bits.org/