美文网首页
2017.11.28 SVN问题、C#中数组、ArrayList

2017.11.28 SVN问题、C#中数组、ArrayList

作者: 胡諾 | 来源:发表于2017-11-29 09:06 被阅读0次

    第一组:姚成栋 SVN问题

    因为还没有申请SVN账号,所以一直在用欢哥的账号,这个账号被三个人同时使用,之前一直没什么事情,但是昨天突然出现了一个奇奇怪怪的问题,如下图:

    image.png

    这个PD中的model和UImodel不知道被谁锁上了,没办法解锁(因为PD只能由锁上的那台机子来解锁),但是使用这个账号的三台电脑都无法解锁(可能是bug了),再多次尝试无解之后,发现了SVN的一个新东西——偷锁操作。

    下图是被别的账号锁上想继续操作的报错页面:

    image.png

    下图Steal the lock就是偷锁操作:


    image.png

    在get lock的时候点上steal the lock(TortoiseSVN下操作,其他软件具体操作不大清楚),然后就可以成功的再次get lock了。


    第二组:冯佳丽 C#中数组、ArrayList和List的总结

    数组的容量是固定的,您只能一次获取或设置一个元素的值,而ArrayList或List<T>的容量可根据需要自动扩充、修改、删除或插入数据。

    数组可以具有多个维度,而 ArrayList或 List< T> 始终只具有一个维度。但是,您可以轻松创建数组列表或列表的列表。特定类型(Object 除外)的数组 的性能优于 ArrayList的性能。 这是因为 ArrayList的元素属于 Object 类型;所以在存储或检索值类型时通常发生装箱和取消装箱操作。不过,在不需要重新分配时(即最初的容量十分接近列表的最大容量),List< T> 的性能与同类型的数组十分相近。

    在决定使用 List<T> 还是使用ArrayList 类(两者具有类似的功能)时,记住List<T> 类在大多数情况下执行得更好并且是类型安全的。如果对List< T> 类的类型T 使用引用类型,则两个类的行为是完全相同的。但是,如果对类型T使用值类型,则需要考虑实现和装箱问题。

    详细内容见相关文件。


    第三组:黄华英 泛型方法和 页面元素批量操作

    1. 泛型方法

    想将一个方法通用化,例如遇到的情况是,ABC三表当中的内容都需要执行插入D表的操作,调用同一个泛型方法,避免代码重复

    public void DemoObject < T > (T from, T to) //不定义具体类型,from 赋值给to
    {
        //如果两个类中大部分字段相同,需要将其中一个类的字段赋值给另外一个类
        //可以通过PropertyInfo实现
        PropertyInfo[] propertyFroms = from.GetType().GetProperties(); //获取类字段
        PropertyInfo[] propertyTos = to.GetType().GetProperties();
        int lenTo = propertyTos.Length;
        for (int i = 0, l = propertyFroms.Length; i < l; i++) {
            for (int j = 0; j < lenTo; j++) {
                //按字段名逐一赋值
                if (propertyTos[j].Name != propertyFroms[i].Name) continue;
                propertyTos[j].SetValue(to, propertyFroms[i].GetValue(from, null), null);
                break;
            }
        }
    }
    
    2. 页面元素批量操作

    例如禁用:根据标签对标签中所有元素进行操作

    $("div *").attr("disabled",true); 
    

    根据ID将容器中所有元素进行操作

    $("#TableID *").attr("disabled", true); 
    

    将所有表单的所有表单控件的readonly全部设置为readonly(全部只读)

    $("form input").prop("readonly", true);
    

    要注意的是如果直接使用input选择器的话,包括了按钮。所以要排除按钮、隐藏域之类的input的话要使用not选择器

    $("input:not(:button,:hidden)").prop("readonly", true);
    

    第四组:王芳 Console

    1. Console是chrome的控制台,打开f12就可以找到了,在这里你可以看到网页中的所有报错信息和提示信息,也可以使用一些方法来对js进行调试。

    2. 如果想清空控制台,可以点击左上角的

    3. 一般情况下我们用来输入信息的方法主要是如下五个:

      • console.log 用于输出普通信息
      • console.info 用于输出提示性信息
      • console.error 用于输出错误信息
      • console.warn 用于输出警示信息
      • console.debug 用于输出调试信息
    4. console.dirxml用来显示网页的某个节点(node)所包含的html/xml代码

    5. console.group输出一组信息的开头

    6. console.groupEnd结束一组输出信息

    7. console.assert对输入的表达式进行断言,只有表达式为false时,才输出相应的信息到控制台

    8. console.count这个方法非常实用哦,可以统计代码被执行的次数

    9. console.dir这个方法是我经常使用的 可不知道比for in方便了多少。直接将该DOM结点以DOM树的结构进行输出,可以详细查对象的方法发展等等

    10. console.time 计时开始

    11. console.timeEnd 计时结束

    12. console.profile和console.profileEnd配合一起使用来查看CPU使用相关信息

    13. console.timeLine和console.timeLineEnd配合一起记录一段时间轴

    14. console.trace 堆栈跟踪相关的调试

    附详细链接:https://segmentfault.com/a/1190000002511877


    第五组:姜葳 Js通过变量名调用函数

    • 方法一:
    if(aMethod && aMethod in window){//判断是否是函数名
    var func = "test";
    window[func]("AAA");
     function test(paras) {
                alert("弹出吗?"+paras);
      }
    
    • 方法二:
    var fun_name="fun1";
    执行方法:eval(fun_name+"()");
    function fun1(){
    alert("this is alert !")
    }
    

    相关文章

      网友评论

          本文标题:2017.11.28 SVN问题、C#中数组、ArrayList

          本文链接:https://www.haomeiwen.com/subject/wfaybxtx.html