• 失业日志:2008年10月13日


    时间过的总是很快。
    昨天去了书店,晚上看了一下老赵的MVC视频,然后胡思乱想了一阵,再加上网速实在很慢,就没有写日志,不过在看的时候有个问题,就是关于return this.json();
    如何用.net构建json,他用new{ res1=new int[]{1,2,3},res2=new string[]{"222","333","444"}}构建了 {res1:[1,2,3],res2:["222","333","444"]}这样一个json,但是如果要构建[{res1:[1,2,3],res2:["222","333","444"]},{res1:[4,5,6],res2:["555","666","777"]}] 这样的json又如何用.net来构成?没有去深入研究。等哪天看到了再补充吧。不过我现在使用的ajax返回json是直接在controllor中定义一个void的方法,然后直接Response.Write(json字符串的方式来做).这样也可以,呵呵。比如直接拼接
    public void GetJsonString(){
          string strJson="[{res1:[1,2,3],res2:['222','333','444']},{res1:[4,5,6],res2:['555','666','777']}] ";
          Response.Write(strJson);
    }
    在view中使用
    <script language="javascript">
          function getJson(){
                $.get("/url/GetJsonString",function(result){
                      json=eval(result);
                      ...
                });
          }
    <script>
    ps:code功能好像有问题。
    这样来做,好像不是很符合规范...但是目前我就是这么弄的,等哪天有更好的方法,再进行该进。

    扯远了。其实真正要说的是昨天去了一趟新华书店,看了一本lovecherry老师等人翻译的《.net 3.5高级编程》的书,在那里待了2个小时,大概看了100页左右,感觉这本书写的还比较细,往往我一些东西,没有弄清楚,三板斧就开始做,而没有搞清楚原理,这本书也许能告诉我一些本来的东西,凭着记忆写下一些心得:
    1.首先说语言的发展:
    c c++ vb java/j2ee com microsoft DNA .net。感觉在学校里用C开始,一晃过了10几个春秋,而现在才发现自己真正想去追寻的东西,真是唏嘘不已。

    2.CLR(common language rumtime)公共语言运行环境
     The CLR abstracts operating system services and serves as an execution engine for managed applications—applications whose every action is subject to approval by the CLR。
    这是摘自《programming microsoft.net》中的一句话,执行引擎和管理程序。

    3.从上面看出,.net开发出来的程序必须在CLR的管理下运行,这就引申出一个名词managed code(托管代码)。这和以前用VC,DELPHI,等其他开发工具开发出来的程序是不一样的,这些开发出来的叫unmanaged code(非托管代码)。

    4.IL(Intermediate Language)中间语言。.net框架下可以支持众多语言,除了c# vb c++ 等等很多其他语言(这是java所存在一些弱点),为什么.net可以做到这一点,原因就在于IL,因为.net将这些语言所开发的程序都编译成一种中间语言,不同语言开发相同的程序编译出来的中间语言结构大同小异。然后在运行期间通过(just-in-time)JIT解析成机器语言。
    CIL instructions are just-in-time (JIT) compiled into native machine code (typically x86 code) at run time。
    从这点上说,.net开发的程序应该能够做到跨平台,而且书上也这么说,扯远了。

    5.System.String和string,呵呵string仅仅是System.String的简化表示.另外,看了类型结构,string原来是一个引用类型,为什么int float bool这些是值类型,而string是引用类型?为什么emun,struct却是值类型?呵呵,这个问题不去钻牛角了。但要值得注意的是string是一个特殊的引用类型。比如,string s1="111";s1+="222";这样的语句,在编译成IL的时候可以看出,s1="111"是在垃圾堆中申请了一个地址,在s1+="222"又申请了一个地址.这样,如果使用s1进行大量操作,会在堆中留下大量的副本(boss?),所以大量使用string操作会降低效率(我的最爱...).应该更改为System.Text.StrBuilder来进行字符串拼接操作了。

    6..net中的类型{类,接口,结构,枚举,委托}{class,interface,struct,enum,delegate},以前总是抱着class死磕,还有这么多丰富的类型进行使用,而且interface是oo的关键,delegate是.net事件的基础。但自己却从来没有接触过?这样也能写了十几万行的代码...看来我写的程序基本是基于 dltml javascript .net class的,算一个网页开发人员。还不能算一个.net程序员。

    今天也接着会书店去看书,那本书有些贵 138 大洋。我再接着看看。
  • 相关阅读:
    深入理解JVM
    Axure RP 7.0 注册码
    jquery 单击和双击事件冲突解决方案
    8张图理解Java
    java集合运算:求交集,并集,集合差
    Java高级软件工程师面试题
    初学者手册-IDEA常用快捷键
    Java开发进阶技能(附文章引用链接)
    项目启动时报错Instantiation of bean failed; nested exception is java.lang.ExceptionInInitializerError
    org/apache/hadoop/hbase/mapreduce/TableReducer:Unsupported major.minor version52.0
  • 原文地址:https://www.cnblogs.com/poplau/p/1583129.html
Copyright © 2020-2023  润新知