小编Aak*_*shM的帖子

c#和javascript中的IEEE 754浮点运算舍入误差

我刚读了一本关于javascript的书.作者提到了IEEE 754标准中的浮点算术舍入误差.

例如,添加0.1和0.2会产生0.30000000000000004而不是0.3.

所以(0.1 + 0.2) == 0.3返回false.

我也在c#中重现了这个错误.

所以这些是我的问题是:

这个错误多久发生一次?c#和javascript中的最佳实践解决方法是什么?哪些其他语言有相同的错误?

javascript c# floating-point ieee-754

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

在没有递归的情况下迭代O(1)空间中的AVL树

我有一个AVL树.每个节点如下所示:

typedef struct {
    Node *parent;  // the parent node
    Node *left;    // the node left of this node
    Node *right;   // the node right of this node
    int height;    // the height of this node
    void *value;   // payload
} Node;
Run Code Online (Sandbox Code Playgroud)

是否可以在O(1)空间中使用这些节点迭代AVL树,而不进行递归,如果是,如何?

如果不是,那么也可以理解具有sub-O(n)空间或iff真正必要的O(N)空间的解决方案.

迭代树我的意思是我想要访问每个节点一次,如果可能的话,按顺序(从最左边到mostright节点).

c algorithm data-structures

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

XSLT 2.0 Xpath错误"不是节点项"

我在这里的第一篇文章 - 肯定希望有人知道答案!我已经能够为我遇到的许多问题找到解决方案,但对于这个问题却没有.关于同一主题的本网站上的问题和答案并没有解决我的问题......

我有一个包含格式规范的xml

<Format>
    <TagNr>92</TagNr>
    <Option>A</Option>
    <Format>//[N]15d</Format>
</Format>
<Format>
    <TagNr>92</TagNr>
    <Option>B</Option>
    <Format>//3!a/3!a/15d</Format>
</Format>
Run Code Online (Sandbox Code Playgroud)

TagNr +选项是此节点集中的唯一组合.

我定义了一个键,使得使用这组格式变得更容易:

<xsl:key name="xx" match="//Format/Format" use="concat(../TagNr, ../Option)"/>
Run Code Online (Sandbox Code Playgroud)

我确实可以使用这个键并获得正确的值,但仅限于非特殊元素; 我在以下每个或其他结构中使用此键时出现错误"XPath 2.0表达式中的错误不是节点项".

我尝试实现的目标如下:在处理的其他节点中,有一系列选项,我希望为每个字符检索格式.例如:

<Tag>
    <TagNr>92</TagNr>
    <Options>AB</Options>
</Tag>
Run Code Online (Sandbox Code Playgroud)

我一直在尝试下面的很多变种,但没有运气:

<xsl:variable name="TN"><xsl:value-of select="TagNr"/></xsl:variable>
<xsl:variable name="optList">
    <xsl:analyze-string select="./Options" regex="[A-Z]">
        <xsl:matching-substring>
            <xsl:variable name="TNO" select="concat($TN, .)"/>
            <opt>
                <tag><xsl:value-of select="$TNO"/></tag>
                <fmt><xsl:value-of select="key('xx', $TNO)"/></fmt>
            </opt>
        </xsl:matching-substring>
    </xsl:analyze-string>
</xsl:variable>
Run Code Online (Sandbox Code Playgroud)

使用正则表达式分割成单个字符很顺利,并且(仅)检索(仅)opt/tag的值也很好.但是当我添加opt/fmt时,我遇到了上面提到的Xpath表达式的错误消息select ="key('xx',$ TNO)".

我尝试根据此站点上另一个线程中建议的键函数定义变量,但没有成功.

谁能帮我?

xslt key xslt-2.0

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

为T-SQL变量分配的内存在哪里?

在T-SQL中,当我们做类似的事情

declare @PolicyId int = 20
Run Code Online (Sandbox Code Playgroud)

分配了4个字节,因为a的大小int是4个字节,但是这个内存分配在哪里 - 它是在堆栈还是堆上?

t-sql memory sql-server heap stack

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

当抱怨我的线性渐变时,我需要做些什么来缓和R#?

我有这个CSS规则:

.featured .content-wrapper {
    background-color: #7ac0da;
    background-image: -ms-linear-gradient(left, #7ac0da 0, #a4d4e6 100%);
    background-image: -o-linear-gradient(left, #7ac0da 0, #a4d4e6 100%);
    background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #7ac0da), color-stop(1, #a4d4e6));
    background-image: -webkit-linear-gradient(left, #7ac0da 0, #a4d4e6 100%);
    background-image: linear-gradient(left, #7ac0da 0, #a4d4e6 100%);
    color: #3e5667;
    padding: 20px 40px 30px 40px;
}
Run Code Online (Sandbox Code Playgroud)

...和R#抱怨最后一个背景图像行, Expected one of: <angle>, to, <named-color>, <system-color>, <color>, rgb(), rgba(), hsl(), hsla().

我不知道它想要什么 - 但是我如何修改那条线以安抚R#有时看起来像是戴着白手套的婆婆(不要误会我的意思 - 我爱她,无论如何)?

css resharper background-image linear-gradients

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

在 Roslyn 中获取 SymbolCallerInfo 的通用参数

我试图在调用该方法的解决方案中找到所有位置IBus.Publish<T>(来自 NServiceBus)。到目前为止,这是有效的:

IMethodSymbol method = ... [IBus.Publish methodsymbol resolved];
var callers = method.FindCallers(solution, new CancellationToken());
Run Code Online (Sandbox Code Playgroud)

这导致 aIEnumerable<SymbolCallerInfo>并且我得到了对该方法的所有正确引用。

我现在将如何去IBus.Publish调用泛型参数?我是否必须手动解析源树,或者它是否存在一些我可以利用的 Roslyn 魔法?

例子:

在我的代码中,我有:

IBus _bus;

_bus.Publish<IMyMessage>(msg => { msg.Text = "Hello world"});
Run Code Online (Sandbox Code Playgroud)

我有兴趣获得IMyMessage类型。

非常感谢您的帮助!

c# generics roslyn

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

ASP.NET Gridview - 从代码后面设置列标题的 css 类?

嘿伙计们,我想做的是向我的 gridview 的排序事件添加一个方法,以向正在排序的列添加一个类,以便用户可以知道数据是按升序还是降序排序以及在哪个列上排序。我目前正在尝试通过排序表达式上的 switch 语句来确定它来自哪一列,但我不知道如何设置 css 类。有任何想法吗?

asp.net sorting gridview webforms

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

如何为GlassFish声明数据源?

我知道如何使用JBoss执行此操作:创建一个*-ds.xml文件,并将其放入我的deploy目录中.

  • 是否有一种声明性的方式来对GlassFish(v3.1)做同样的事情?
  • 我是否以错误的方式思考这个问题?(见下一个问题)
  • 是否有更多的Glassfishy方法让我的Java EE应用程序与数据库通信?

其他潜在的信息:

  • 我想连接到SQL Server 2008数据库
  • 我正在使用Eclipse + GlassFish Server Tools
  • 我对GlassFish几乎一无所知.我对JBoss更熟悉

jdbc glassfish

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

按第一个字符(字母和数字)对字符串进行分组

我有一个字符串列表(产品名称),我需要从中创建一个"0-9","A","B"形式的产品索引(基于产品名称的first-char)... "Z".

我这样做:

Products.GroupBy(p => p.Name[0].ToUpper())
Run Code Online (Sandbox Code Playgroud)

但这对于以"0"开头的产品名称不起作用."9".

如何修改查询以将所有alpha分组到不同的组("A"..."Z"),以及所有数字组成一个组("0-9")?

c# linq grouping

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

在显示模块模式中使用自执行匿名函数

只是想知道它是否是一个很好的JavaScript实践.

假设我有许多网页都调用了初始化函数"init()",在我的模式中使用IIFE在每次加载脚本时运行函数是否正确?

var foo = (function() {
    var bar = "something";

    (function init() {
        // Do something crazy that's gonna be the same across all my web pages
        // like adding an event listener or something
        // ...
        document.write('page init...');
    }());

    function privatePage1() {
        // This stuff is gonna be used only in page1.html via foo.privatePage1
        document.write('page 1' + bar);
    }

    function privatePage2() {
        // This stuff is gonna be used only in page2.html via foo.privatePage2
        document.write('page 2' …
Run Code Online (Sandbox Code Playgroud)

javascript design-patterns iife

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