2009-06 归档
共 39 篇
面向对象技术是目前流行的系统设计开发技术,它包括面向对象分析和面向对象程序设计。面向对象程序设计技术的提出,主要是为了解决传统程序设计方法——结构化程序设计所不能解决的代码重用问题。 结构化程序设计从系统的功能入手,按照工程的标准和严格的规范将系统分解为若干功能模块,系统是实现模块功能的函数和过程的集合。由于用户的需求和软、硬件技术的不断发展变化,按照功能划分设计的系统模块必然是易变的和不稳定的。这样开发出来的模块可重用性不高。 面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务(功能)为中心来描述系统。它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。 面向对象程序设计同结构化程序设计相比最大的区别就在于:前者首先关心的是所要处理的数据,而后者首先关心的是功能。…
📂 Win编程
👤 博主
📅 2009-06-09
👁 3873
👍 0
阅读全文 →
当然,这里所谓的文件是指完整的文件名称,至于文件的内容,须按实际情况进一步的操作。 我这里的控件为一个ListBox。代码如下: 重写这个HOW TO,主要的是看到有人用API实现,代码如下: VB.NET: C#:
📂 Win编程
👤 博主
📅 2009-06-09
👁 4586
👍 0
阅读全文 →
几天前无意中写了这么两个函数: 今天看了就有这么一个疑问:当传两个string类型参数时哪个函数会被调用?用事实说话吧: 显然,后者的优先级比前者高,那前者的params参数就没有意义了,正确的函数定义:
📂 Web编程
👤 博主
📅 2009-06-09
👁 4297
👍 0
阅读全文 →
.NET学生类Student: 序列化和反序列化 //引入命名空间 using Newtonsoft.Json; using Newtonsoft.Json.Converters; 1).序列化 2).反序列化 点击下载Newtonsoft.Json
📂 Web编程
👤 博主
📅 2009-06-08
👁 9343
👍 0
阅读全文 →
这是本书中唯一一个被一整个函数占用的原则,你应该避免写这样的函数。GetHashCode()仅在一种情况下使用:那就是对象被用于基于散列的集合的关键词,如经典的HashTable或者Dictionary容器。这很不错,由于在基类上实现的GetHashCode()存在大量的问题。对于引用类型,它可以工作,但高效不高;对于值类型,基类的实现经常出错。这更糟糕。你自己完全可以写一个即高效又正确的GetHashCode()。没有那个单一的函数比GetHashCode()讨论的更多,且令人困惑。往下看,为你解释困惑。 如果你定义了一个类型,而且你决不准备把它用于某个容器的关键词,那就没什么事了。像窗体控件,网页控件,或者数据库链接这样的类型是不怎像要做为某个任何的关键词的。在这些情况下,什么都不用做了。所有的引用类型都会得到一个正确的散列值,即使这样效率很糟糕。值类型应该是恒定的(参见原则7),这种情况下,默认的实现总是工作的,尽管这样的效率也是很糟糕的。在大多数情况下,你最好完全避免在类型的实例上使用GetHashCode()。 然而,在某天你创建了一个要做为HashTable的关键词来使用的类型,那么你就须要重写你自己的GetHashCode()的实现了。继续看,基于散列(算法)的集合用散列值来优化查找。每一个对象产生一个整型的散列值,而该对象就存储在基于这个散列值的“桶”中。为了查找某个对象,你通过它的散列值来找到这个(存储了实际对象的)“桶”。在.Net里,每一对象都有一个散列值,它是由System.Object.GetHashCode()断定的。任何对GetHashCode()的重写都必须遵守下面的三个规则:…
📂 Web编程
👤 博主
📅 2009-06-08
👁 5778
👍 0
阅读全文 →
以前曾经动笔写过一片《字符串比较方法的性能对比》的文章,很多朋友提出了非常好的意见和建议。碰巧最近看到好多人在这样比较字符串 似乎很有意思,大家都喜欢另辟蹊径的使用字符串比较,为了较为客观的反应各种字符串比较的优势,我特地做了一个本地测试,分别区分字符串长度一致以及长度不一致的情况,另外每种情况下还对字符串的比较方式上使用4种不同方法: 1、使用地球人都知道的“==”比较运算符 2、使用String.Compare方法,即上面提到的代码 3、使用string.Equals(string,StringComparison.Ordinal)方法 4、使用string.Equals(a, b, StringComparison.OrdinalIgnoreCase)方法…
📂 Web编程
👤 博主
📅 2009-06-05
👁 3997
👍 0
阅读全文 →
最近比较关注C#书写出来的代码性能问题,越研究就越觉得很有意思。 在日常的编程过程总,由于编程需要,我们经常会比较两个字符串是否相等,然后再做相应的处理。代码书写起来是觉得很爽,不是吗?if (a==b) then ……else……但是有没有更快的方式呢?为此查阅了一些资料了MSDN文档。当我们调用 a==b的时候,通过IL代码可以看到内部实际上调用了String.Equals(string,string)这个方法 更为严重的是更底层调用的是EqualsHelper辅助方法,它首先比较两个字符串的长度,然后逐个字符的通过引用指针的方式进行比较,由于无法明确的区隔是否和语言别有关系,内部处理异常复杂。有没有更快速的方法呢?…
📂 Web编程
👤 博主
📅 2009-06-05
👁 3696
👍 0
阅读全文 →
在"功能表→互联网"里边有个"网络"和"服务",前者用来上web站,后者用来上wap站,如果使用"网络"来访问wap站,便会提示:内容类型不被支持! ---------------------------------------------------------------- 问: 移动卡上网"移动梦网、NOKIA.COM、GPRS连接互联网、移动彩信"四种连接方式有什么区别? 答:GPRS连接互联网使用cmnet接入点,其他的都是使用cmwap接入点。现在的GPRS包月一般只包cmwap接入点流量,产生cmnet接入点流量不计入包月流量要另计费的,使用时须注意。
📂 其他
👤 博主
📅 2009-06-04
👁 4148
👍 0
阅读全文 →
默认在ashx中是不能正常使用Session的(能存入不能取出),查阅相关文档,说明只有实现IRequiresSessionState接口后ashx才能正常使用Session,代码如下:
📂 Web编程
👤 博主
📅 2009-06-04
👁 4313
👍 0
阅读全文 →
明白ReferenceEquals(), static Equals(), instance Equals(), 和运算行符==之间的关系。 当你创建你自己的类型时(不管是类还是结构),你要定义类型在什么情况下是相等的。C#提供了4个不同的方法来断定两个对象是否是相等的: 这种语言让你可以为上面所有的4种方法创建自己的版本。But just because you can doesn't mean that you should.你或许从来不用重新定义前面两个方法。你经常遇到的是创建你自己实例的Equals()方法,来为你的类型定义语义;或者你偶而重载==运算符,但这只是为了考虑值类型的性能。幸运的是,这4个方法的关系,当你改变其中一个时,会影响到其它的几个。是的,须要4个方法来完整的测试对象是否完全相等。但你不用担心,你可以简单的搞定它们。…
📂 Web编程
👤 博主
📅 2009-06-03
👁 3706
👍 0
阅读全文 →