小编Jam*_*man的帖子

C#和F#lambda表达式代码生成

让我们看一下F#为简单函数生成的代码:

let map_add valueToAdd xs =
    xs |> Seq.map (fun x -> x + valueToAdd)
Run Code Online (Sandbox Code Playgroud)

生成的lambda表达式代码(F#功能值的实例)如下所示:

[Serializable]
internal class map_add@3 : FSharpFunc<int, int> {
    public int valueToAdd;
    internal map_add@3(int valueToAdd) { this.valueToAdd = valueToAdd; }
    public override int Invoke(int x)  { return (x + this.valueToAdd); }
}
Run Code Online (Sandbox Code Playgroud)

看看几乎相同的C#代码:

using System.Collections.Generic;
using System.Linq;

static class Program {
    static IEnumerable<int> SelectAdd(IEnumerable<int> source, int valueToAdd) {
        return source.Select(x => x + valueToAdd);
    }
}
Run Code Online (Sandbox Code Playgroud)

并为C#lambda表达式生成代码:

[CompilerGenerated]
private sealed class <>c__DisplayClass1 {
    public int …
Run Code Online (Sandbox Code Playgroud)

c# lambda serialization f#

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

ASP.NET页面'Page_Load'在Master Page的'Page_Load'事件之前触发?

在我的母版页面上,我有一个方法Page_Load可以检查用户是否已登录,如果没有,则将其重定向到"登录"页面.

问题是,对于我的一些页面,Page_Load事件假设记录的用户都在,并且这些事件似乎在主页面中的登录检查之前触发,这会导致错误.

有什么方法可以解决这个问题?我可以在我的页面中使用除Page_Load之外的任何事件,这些事件会母版页之后触发吗?

c# asp.net

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

JavaScript三元运算符和JSLint中的表达式

我最近收到了一篇关于JSLint的博客文章的评论,询问JSLint为什么会抛出以下错误:

s === "test" ? MyFunc() : MyFunc2();
Run Code Online (Sandbox Code Playgroud)

生成的错误是:

"期待一个任务或函数调用,而是看到一个表达式."

很明显,JSLint期待在这里进行任务,更像是:

var y = (s === "test") ? MyFunc() : MyFunc2();
Run Code Online (Sandbox Code Playgroud)

但是,我没有看到第一个例子的问题.是否真的应该将三元运算符用于指派?

我在JSLint.com上看不到任何东西,在JavaScript:The Good Parts一书中也没有任何明显的东西.并且,社区fork JSHint中也报告了相同的错误.

任何人?

javascript jslint ternary-operator jshint

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

您编写了哪些有用的自定义jQuery选择器?

对我来说,jQuery最好但尚未充分利用的功能之一是自定义选择器.我有一个相当简单的例子,挑选出所有空文本框:

$(document).ready(function() {
    $.extend($.expr[':'], {
        textboxEmpty: function(el) {
            var $el = $(el);
            return ($el.val() == "") && ($el.attr("type") == "text");
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

并致电:

alert($(":textboxEmpty").length);
Run Code Online (Sandbox Code Playgroud)

我真的想知道,如果有其他人有他们写的自定义选择器的一些有用的例子.

当然,我不会对这些陷阱视而不见,并且意识到它们可能非常慢,因此应该与其他更快的选择器结合使用.听听我们是否应该注意其他问题会很有用.

javascript jquery custom-selectors

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

为什么在解析json字符串时,eval('('+ jsonString +')')的开放引号和括号

你能告诉我这种特定语法结构的原因吗?

 eval('(' + jsonString+ ')')
Run Code Online (Sandbox Code Playgroud)

解析json文本时.克罗克福德说:" 文本必须用parens包装,以避免绊倒JavaScript语法中的歧义." 在这里.那是什么意思?

我们能避免吗?

javascript json eval

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

指定引用类型的默认值

据我所知,默认(对象)'对象'是任何引用类型总是返回null,但是我可以指定默认值是什么吗?例如,我想要default(object)== new object();

c#

19
推荐指数
2
解决办法
8182
查看次数

在这里使用varbinary over varchar有什么好处?

前一段时间我问了一个关于SQL Server中层次结构/版本号排序的问题.( 如何使用SQL Server查询对"版本号"列进行排序).

提交的答案中包含了与TSQL编码挑战相关的链接.

在SQL2000解决方案中,作者演示了两个变体,一个使用并返回varchar,另一个使用varbinary.作者解释说他没有解释为什么这样做.

那么,我的问题是,方法上的差异有哪些主要差异/优势(如果有的话)?即为什么使用varbinary而不是varchar?

我省略了发布代码,因为它在上面的文章中总结得最为优雅.

sql sql-server varchar varbinary

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

是否将某种JavaScript性能技巧归结为零?

查看jQuery核心,我发现了以下代码约定:

nth: function(elem, i, match){
    return match[3] - 0 === i;
},
Run Code Online (Sandbox Code Playgroud)

我对这个片段非常好奇 match[3] - 0

在Google上搜索"-0"并不是很有效率,搜索"减零"会返回对Bob Dylan歌曲的引用.

所以,谁能告诉我.这是某种性能技巧,还是有理由这样做而不是parseIntparseFloat

javascript jquery

18
推荐指数
4
解决办法
2251
查看次数

TSQL SELECT上一个日期的记录

我想从一个表Log中选择所有记录,其中DateAndTime字段值(类型datetime)是今天的前一天,无论它是什么日子.

因此,如果今天是2011-06-08,我想选择DateAndTime大于或等于2011-06-07 00:00:00且小于的所有行2011-06-08 00:00:00.

我猜这里潜在的陷阱就是它在本月的第一天的行为,因为显然这样的日期2011-06-00是无效的,应该是2011-05-31.

sql t-sql datetime sql-server-2005

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

是否有一种格式化jQuery链的首选方法,使它们更具可读性?

鉴于以下示例代码克隆表行,设置一些属性,然后将其附加到表:

$("#FundTable").append(
    objButton.parents("tr").clone()
        .find(".RowTitle").text("Row " + nAddCount).end()
        .find(".FundManagerSelect").attr("id", "FundManager" + nAddCount)
                                .change(function() { ChangeFundRow(); }).end()
        .find(".FundNameSelect").attr("id", "FundName" + nAddCount).end()
);
Run Code Online (Sandbox Code Playgroud)

有没有人有任何关于如何将其格式化为更容易的建议?这样做是否有任何公认的惯例?

拥有一套可以遵循的规则并将其纳入一组标准将是有用的.

javascript jquery chaining

17
推荐指数
2
解决办法
3947
查看次数