小小细节(一)

来源:互联网 发布:矩阵的n次方怎么算 编辑:程序博客网 时间:2024/04/29 14:53

     一切刚起步,从基础做起,关注细节。新参与的项目和以前做的东西相比,也让我有一点小小的收获。无论从代码编写,还是架构的设计,^_^

1、特殊字符的处理
以前有两种方式处理特殊字符,要么后台代码里处理,要么在基类里写个方法公共调用
现在这么做:在存储过程/函数里处理,其实,后台处理和在存储过程中处理有什么性能上的差异吗?   

       

2、常用的几种提示方法

很多时候需要把系统做得友好,删除信息离开页面都需要有提示。

离开页面时的提示信息:
客户端 onclick="javascript:if(!ConfirmNavigation())return; "
服务器端  OnClientClick="return ConfirmNavigation();"

删除提示:
客户端 onclick="javascript:if(!ondelete())return;"
服务器端 OnClientClick="return ondelete();"

function ondelete()
    {
        var result=window.confirm("Are you sure to delete?");
        return result;
    }

3.Clsss和Struct
    以前开发项目,和Struct几乎没有接触,SIF让我稍微对它有了一点了解。
    MSDN对Struct的解释是:struct 类型是一种值类型,通常用来封装小型相关变量组,例如,矩形的坐标或库存商品的特征。

    其实,class和struct最本质的区别就在于:class是引用类型,继承自System.Object类,内存分配于托管堆;而struct是值类型,继承自System.ValueType类,内存分配于线程的堆栈上,不具多态性。我一直有个不解的地方,为啥System.ValueType是个引用类型,而继承它的Struct却是个值类型?

    在以下情况下,鉴于性能上的考虑,我们应该考虑使用struct来代替class:
    实现一个主要用于存储数据的结构时,可以考虑struct。
    struct变量占有堆栈的空间,因此只适用于数据量相对小的场合。
    结构数组具有更高的效率。
    提供某些和非托管代码通信的兼容性。

    在SIF中,Struct主要用来封装一些变量,其实我在我眼里,就是一种全局变量,不过用法更有质量些:
   

原创粉丝点击