摘要:这几天看了dotnet推出的petshop 3.0发布,比较了一下原来duwamish的数据访问层,写点随笔^^先看看petshop内dalfactory内数据工厂与数据库交互的根源-sqlserverdal,采用的是sqlhelper.cs这一类文件,相信大家对这个都不会感到陌生了.在做petshop的数据库访问之前,首先对关系进行对象建模,即我们通常所说到的o/r模型,在modle层中对[ac......
摘要:今天在yyf9989 的 blog 上看到一篇《c#计算汉语拼音码 》,看了里面的代码,觉得是比较繁琐。它主要是检索输入的汉字在数组中的位置,然后返回第一个字母。于是就想起来了,可以利用汉字在计算机里面的编码来的到汉字的首拼音,查找了一些资料,通过以下的方法成功的得到了解决。就放在这里,请朋友们参考。static public string getchinesespell(string strte......
March Library中的Multiboolean——多值逻辑实现
(附前文)习惯上我们在应用系统中一直使用两值逻辑:非true即false.两值逻辑的运算体系已经相当成熟,与.或.非以及衍生的异或.与非等等.但是在实际应用中,我们会有机会遇到三值逻辑.三值逻辑通常包含可选的true.false.null.如何在完备的两值逻辑运算体系中加入这个null,使之满足我们的需要,并且不会引发逻辑矛盾,就是我们要在这里讨论的.通常我们在数据库中使用的三值逻辑,遵循null最优的原则.有null值参与二值运算时,返回结果为null,其它与二值逻辑相同.这一原则基于关系型数据库将null视为“无意义(nil)”.由于其内容无意义,则任何逻辑值与之进行运算的结果都是无意义值,这也与许多数据关系型数据库对null的处理一致. 【程序编程相关:
InteliIM 3.0 will be】null参与逻辑运算时,实际上存在着不同的算法.按null值在运算中的“优先级”分为三种. 【推荐阅读:
在.NET下编写中文代码程序】最后一种规定null值的优先级介于true与false之间,与运算,二者有一为false时,返回false,否则二者有一为null时,返回null,二者均为true时返回true;或运算,二者有一为true时返回true,否则二者有一为null时返回null,二者均为false时返回false.这等于分别承认true与false在或与与运算中的最高优先级.它基于null值为“未知”的理念.这种规则下,对null值严格视为未知的true或false(unknown).也有一些数据库的三值逻辑是基于这个体系的,msdn中给出了一个基于此规则的dbbool示例. 【扩展信息:
昨日关注:逐步解说: 将Web Form】另一方面,可能有些朋友没有注意到,事实上常见的权限体系也是一种三值逻辑,这个体系里null值处于最低优先级,两个权限值进行合并时,false(否定)高于一切,没有否定值时,肯定值(true)高于null,只有两个值均为null时,结果才为null.实际上我们可以将它看作是一个三值与运算,那么出于数学上的对称,很容易可以构造出对应的逻辑或运算.这种运算规则视null为“未赋值(undefine)”.关于null值的学术讨论其实一直没有休止过,这期间还出现过四元逻辑等理论.实践也证明,“真实”世界中客观存在着不止一种三值逻辑体系.在实用中应当依据具体情况选择最适合的规则.我不想隐瞒,写下这一章的时候,我心里很自豪.对于真正的高手,那些创造了强大的虚拟机.框架与优雅类库的大师来讲,multiboolean这样的小东西确实不算什么.但是,这确是第一个可以让我自己满意的作品.虽然这个设计还不能作到完美,但是它已经可以满足我当前对多值逻辑的应用需求.长期以来,困扰我的最大问题莫过于多值逻辑中不同的空值如何兼容.当然,从数学意义来讲,不同的空值代表了不同的逻辑空间,它们之间不应该存在交叉.所以理想状态应该是根据某种标记来区分不同的逻辑,并将它们分隔开.但是在实用中,一个可以在不影响各自的逻辑算法.不引发异常的前提下处理多种空值逻辑的多值逻辑类型,似乎更为完美.毕竟它是一个基础类型,应该使用尽可能简单——我的blog上记载了另一种多值逻辑实现,在实用中,我感觉它确实过于复杂了.一个只有几种状态的逻辑类型,居然需要工厂方法来构造……引起这种复杂结构的直接原因,即是我一直试图用-1,0,1三个整型来表达逻辑三态.也许对于某一种逻辑来讲,这样作是合适的,但是如果想要用一个0来表达多个逻辑空值,未免太过苛求了.用多个整数来表达?这种方式我也想过,比如将nil设为最小值,unknown设为最大值....
下一页 摘要: 大家要有兴趣,可以一起来讨论一下 webservice数据交互安全问题,以下的这个代码,可以用于dotnet环境下的任何托管方式的应用程序,在实际应用中有两个实例。其中,有一个挂在internet上的,url:http://www.tttsss.com/webservice/thrdataservice.asmx , 有兴趣的可以看看其中的soap信息。当然,要看里面的加密解密过程,就没办法了!......