小编Aak*_*shM的帖子

将属性值的XML序列转换为字符串?

使用xquery 1.0,我想采用这样的序列;

<foo xml:id="x20"/>
<foo xml:id="x47"/>
<foo xml:id="x3"/>
Run Code Online (Sandbox Code Playgroud)

并将id整理成一个字符串,以放入像这样的新元素的属性;

<bar ids="x20 x47 x3"/>
Run Code Online (Sandbox Code Playgroud)

有没有办法在没有使用FLWOR手动迭代输入序列的情况下执行此操作?

xml xpath xquery

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

将IIFE的公共成员分配给变量与返回对象之间有什么区别

我最近一直在研究很多JavaScript代码,并且我已经看到了使用IIFE的"公共"属性的两种不同方式.

第一个是创建变量并将该变量分配给IIFE内部的属性,如下所示:

var public1;

(function(){
    var foo= "Foo", bar= "Bar";

    public1= {
        getFoo: function(){
            return foo;
        }
    };
}());
Run Code Online (Sandbox Code Playgroud)

我看到的第二种方式是从IIFE返回一个对象,如下所示:

var public2 = (function(){
    var foo2= "Foo2", bar2= "Bar2";

    return {
        getBar: function(){
            return bar2;
        }
    };
}());
Run Code Online (Sandbox Code Playgroud)

这两种方式之间是否存在根本区别,还是只是偏好?我还创建了一个小提琴,以便您可以运行或更新代码:http://jsfiddle.net/bittersweetryan/gnh79/3/

javascript iife

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

改进从实体框架生成的查询

我有一个像这样的查询linq:

var query = from c in Context.Customers select c;
var result = query.ToList();
Run Code Online (Sandbox Code Playgroud)

Linq查询生成此tsql代码:

exec sp_executesql N'SELECT 
[Project1].[Id] AS [Id], 
[Project1].[Name] AS [Name], 
[Project1].[Email] AS [Email]
FROM ( SELECT 
    [Extent1].[Id] AS [Id],
    [Extent1].[Name] AS [Name], 
    [Extent1].[Email] AS [Email]
    FROM [dbo].[Customers] AS [Extent1] ) AS [Project1]
Run Code Online (Sandbox Code Playgroud)

有没有办法不生成子查询?

c# linq entity-framework

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

什么时候(1.0/x)*x - 1.0没有评估到0.0?

我正在寻找表达式的例子

(1.0/x)*x - 1.0
Run Code Online (Sandbox Code Playgroud)

假设x是Java中的double值,则不计算为0.0.

我也对这个原因感兴趣.

java

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

C#生成随机int - 之谜

我在生成随机整数时发现了一些有趣的东西(至少对我来说),我无法向自己解释,所以我想我会在这里发布.

我的需求很简单:我正在生成随机整数(Int32)ID,旨在最大限度地减少冲突.生成时间不是问题.

我已经尝试过这些方法来生成随机整数:

1.)

   return rnd.Next();
Run Code Online (Sandbox Code Playgroud)

其中rnd是Random类型的类字段,方法#3的种子.

2.)

   return rnd.Next(Int32.MinValue, Int32.MaxValue);
Run Code Online (Sandbox Code Playgroud)

其中rnd是类型为Random的类字段,种子来自方法#3.

3.)

   var buffer = new byte[sizeof(int)];
   using (var rng = new RNGCryptoServiceProvider())
   {
        rng.GetBytes(buffer);
   }            
   return BitConverter.ToInt32(buffer, 0);
Run Code Online (Sandbox Code Playgroud)

注意:我也尝试将RNGCryptoServiceProvider作为类字段在初始化容器类时初始化一次以简化GC的工作,但是我花了相同的时间来生成所以我认为这将是"更随机".

4)

   return new Random(Method3()).Next();
Run Code Online (Sandbox Code Playgroud)

5.)

   return new Random(Method3()).Next(Int32.MinValue, Int32.MaxValue);
Run Code Online (Sandbox Code Playgroud)

我知道,在每次调用时创建新的Random(int种子)非常耗时,但碰撞更少,对吧?

好吧,现在是神秘的一部分.我认为大多数碰撞都会有方法#1和#2,其中#1会稍微快一点,而且碰撞时间更短,碰撞最少的方法是#4和#5,其中#4会稍微快一点,而且方法## 3会有某种妥协.

所以我做了一个测试来证明我的假设.我使用所提到的每种方法生成了10倍(以使其平均)一百万个随机数,并获得了生成一百万个数字所需的平均碰撞次数和平均时间.结果(下面)对我来说有点意外.

结果:持续时间为小时:分钟:秒:毫秒格式

Method1: AvgCollisions: 235, AvgDuration: 00:00:00.3561967
Method2: AvgCollisions: 116, AvgDuration: 00:00:00.4042033
Method3: AvgCollisions: 115, AvgDuration: 00:00:04.6037259
Method4: AvgCollisions: 234, AvgDuration: 00:00:09.2195856
Method5: AvgCollisions: 233, AvgDuration: 00:00:09.1788223
Run Code Online (Sandbox Code Playgroud)

我再次进行了几次测试,它总是大致相同.

你也不奇怪吗?时间并不是我想象的那么多,但结果对我来说意味着,方法2是最好的生成随机数,因为它是最随机的,最快的,你可以设置一个最小和最大生成的数字.不知道Method2对Method3的预测程度有多大,因为我不知道如何测试它.

有人可以解释一下我做错了什么,或者为什么方法#4和#5没有碰撞最少,为什么碰撞的百分比总是一样的?它不应该是随机的吗?

编辑: 这是我已经完成的这个测试的Visual Studio 2010解决方案:http://bit.ly/nxLODw

c# random generator

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

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
查看次数

找到两个法向量之间的x,y,z旋转

我在3D空间中有两个正方形.我想找到它们之间的x,y,z角度.我开始找到两个正方形的法线向量,我试图弄清楚如何获得它们之间的角度.

我正在使用XNA(C#)Vector3对象.

我计算了法线向量如下:

        Vector3 normal1 = (Vector3.Cross(sq1.corners[0] - sq1.corners[1], sq1.corners[0] - sq1.corners[2]));
        Vector3 normal2 = (Vector3.Cross(sq2.corners[0] - sq2.corners[1], sq2.corners[0] - sq2.corners[2]));
Run Code Online (Sandbox Code Playgroud)

我想找到将使normal1面向normal2的euler旋转

c# math xna euler-angles

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

当抱怨我的线性渐变时,我需要做些什么来缓和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
查看次数

如何安装旧版本的ReSharper插件?

我在Visual Studio 2010中使用ReSharper 8.0.ReSharper 8.0使用基于NuGet的Extension Manager进行插件管理,这使得查找和安装插件非常容易,但是这个Extension Manager只提供任何给定插件的最新版本.它还跟踪插件更新,并提供在新版本可用时更新插件.

这就是我的问题出现的地方.我使用(GoToWord)的特定插件已更新,并且最新版本(0.9.3)似乎无法正常工作.我无法以任何方式回滚到以前的好版本(0.9.1.1),也没有办法在我卸载它之后安装旧版本.

我试过打开常规的NuGet包管理器控制台(at Tools | Library Package Manager | Package Manager Console)并发出以下命令:

Install-Package resharper.GoToWord -version 0.9.1.1
Run Code Online (Sandbox Code Playgroud)

但这在依赖解析阶段失败了,大概是因为常规 NuGet 不知道ReSharper :

Attempting to resolve dependency 'ReSharper (? 8.0)'.
Install-Package : Unable to resolve dependency 'ReSharper (? 8.0)'.
At line:1 char:16
+ Install-Package <<<<  resharper.GoToWord -version 0.9.1.1
    + CategoryInfo          : NotSpecified: (:) [Install-Package], InvalidOperationException
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand
Run Code Online (Sandbox Code Playgroud)

NuGet的ReSharper Extension Manager版本是否有控制台?或者是否有其他方法来安装旧版本的插件?

resharper visual-studio-2010 resharper-plugins resharper-8.0

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

这个红色方块图标在Visual Studio 2013解决方案资源管理器中意味着什么?

在下图中,解决方案资源管理器中的项旁边有红色方块图标.我无法弄清楚他们指出了什么.我正在使用Resharper和AnkhSVN,因此它们可能来自这两个软件包中的任何一个,也可能来自Visual Studio本身.有谁知道他们的意思?

解决方案探险家的图像显示一些项目旁边的红色正方形

resharper ankhsvn visual-studio-2013

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