小编Pri*_*ess的帖子

Lambda OrderBy方法

我有一个图形类来检测我正在写的一些业务逻辑中的循环依赖.我的图形类构建了知道与其他节点的关系的节点.

我有nodeList作为列表(对象)每个都有一个List(字符串)

我在想下面的代码行会产生正确的排序.我想错了.

nodeList.OrderByDescending(Function(x) x.Count)
Run Code Online (Sandbox Code Playgroud)

我想通过List(of String).Count按降序重新排序我的nodeList.

my List(of Object)
(0) | Count = 3
(1) | Count = 5
(2) | Count = 2

My desired output List(of Object)
(0) | Count = 5
(1) | Count = 3
(2) | Count = 2
Run Code Online (Sandbox Code Playgroud)

linq vb.net lambda

8
推荐指数
1
解决办法
2万
查看次数

IE-8中丢失了事件类型属性

我注意到一个奇怪的Javascript错误,它似乎只发生在Internet Explorer 8上.基本上,在IE-8上,如果你有一个事件处理函数捕获闭包中的事件对象,事件"type"属性似乎变得无效从关闭内部.

这是一个简单的代码片段,可以重现错误:

<html>
    <head>
        <script type="text/javascript">
            function handleClickEvent(ev)
            {
                ev = (ev || window.event);
                alert(ev.type);
                window.setTimeout(function() {
                    alert(ev.type); // Causes error on IE-8
                }, 20);
            }

            function foo()
            {
                var query = document.getElementById("query");
                query.onclick = handleClickEvent;
            }

        </script>
    </head>
    <body>
        <input id="query" type="submit" />
        <script type="text/javascript">
            foo();
        </script>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

所以基本上,这里发生的是在handleClickEvent函数中,我们有事件对象ev.我们打电话alert(ev.type),我们看到事件类型是"点击".到现在为止还挺好.但是当我们在一个闭包中捕获事件对象,然后alert(ev.type)再从闭包内再次调用时,现在突然出现Internet Explorer 8错误,因为表达式说"成员未找到" ev.type.type在我们捕获闭包中的事件对象之后,似乎事件对象的属性神秘地消失了.

我在Firefox,Safari和Chrome上测试了此代码段,但没有一个报告错误情况.但是在IE-8中,事件对象在关闭时被捕获后似乎变得无效.

问题:为什么在IE-8中发生这种情况,是否有解决方法?

html javascript javascript-events internet-explorer-8

4
推荐指数
1
解决办法
1649
查看次数

具有多个搜索条件的Lambda表达式

目前,我正在搜索我的列表,以查找与地址匹配的客户.我需要匹配地址和城市.如何重写我的lambda Expression以匹配这两个标准?

CustomerList.FindAll(Function(c)c.Address = addressToMatch)

vb.net lambda

3
推荐指数
1
解决办法
2523
查看次数

SQL Try-Catch和事务问题

我有这样的交易,我有几个问题.

如果我在"Master"中运行它,它应该出错,因为表'Year'不存在我没有看到事务回滚.SQL只会抛出表/列不存在的错误.

如果我针对表存在的数据库运行它并因为外键约束而使其出错,那么我确实看到了事务回滚.

为什么我得不到相同的结果.

BEGIN TRY
    BEGIN TRANSACTION

    INSERT INTO Year (YearId, FiscalYear) 
    VALUES (NewId(), 2014)

    COMMIT

END TRY
BEGIN CATCH
  IF @@TRANCOUNT > 0
     ROLLBACK
        PRINT 'ERROR'

  DECLARE @ErrMsg nvarchar(4000)
        , @ErrSeverity int
  SELECT @ErrMsg = ERROR_MESSAGE(),
         @ErrSeverity = ERROR_SEVERITY()

  RAISERROR(@ErrMsg, @ErrSeverity, 1)
END CATCH

GO
Run Code Online (Sandbox Code Playgroud)

sql t-sql transactions

1
推荐指数
1
解决办法
1622
查看次数