小编Roy*_*mir的帖子

为什么这个有效的代码?

http://jsbin.com/idazeg/edit#javascript,html

有人能告诉我这是如何以及为什么有效?

$('#pp').click (function () {
    ppp:doSomething('2'); //<=== ppp , how is JS **eating** this ?
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

C#编译器在引用转换时害怕转换?

我见过这段代码:

StringBuilder Foo<T> (T arg)
{
 if (arg is StringBuilder)
 return (StringBuilder) arg; // Will not compile
 ...
}
Run Code Online (Sandbox Code Playgroud)

但是:

StringBuilder Foo<T> (T arg)
{
 StringBuilder sb = arg as StringBuilder;
 if (sb != null) return sb;
 ...
}
Run Code Online (Sandbox Code Playgroud)

编译.

这是为什么 ?编译器害怕什么?

ps我见过另一个解决方案:

(StringBuilder) (object) arg
Run Code Online (Sandbox Code Playgroud)

c# generics .net-4.0

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

C#在运行时编译finalize方法?

正如我在阅读有关GC的3本书时,我注意到一些奇怪的事实:

C#通过CLR

CriticalFinalizerObject:CLR以非常特殊的方式处理此类和从中派生的类

在此输入图像描述

什么 ???

"没有找到足够的内存来编译方法? "恕我直言 - 代码应该已经编译了......不是吗?

当我编写c#代码时 - 整个代码在运行之前被编译为IL ...不是吗?但根据文本 - 在RUNTIME - 他可能发现编译的内存不足 ......

救命 ?

.net c# clr .net-4.0

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

SQL Server无法识别\ r?

简单查询:

UPDATE [WebERP].[dbo].[Users]
   SET 
       [ActiveDirectoryUser] = null

WHERE ActiveDirectoryUser='xxx\royin'
Run Code Online (Sandbox Code Playgroud)

错误:

消息512,级别16,状态1,过程Users_Update,行17
子查询返回多个值.当子查询跟随=,!=,<,<=,>,> =或子查询用作表达式时,不允许这样做.该语句已终止.

我想问题出在这里:

在此输入图像描述

它把它当作回车.

(如果我改变\r\b它的确定.)

我该如何解决?

sql-server sql-server-2005

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

SQL Server可以使用多个索引吗?

恕我直言SQL Server可以选择自己(除非被告知)什么是用于查询的最佳索引.

这样的事情(伪代码):

select __a from tbl where __a not in
 (
   select __b  from tbl 

 ) 
Run Code Online (Sandbox Code Playgroud)

(假设我们拥有的index_1是哪个(__a),index_2哪个是(__b)

SQL Server是否仍会在执行时使用一个索引或多个索引一起使用......?

sql-server indexing sql-server-2008

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

C#实体框架:更新查询不起作用

我有这个简单的代码:(更新值)

我正在尝试更新列"c"

 using (MaxEntities ctx = new MaxEntities())
            {
                aa orders = (from order in ctx.aa
                             select order).First();
                orders.c = 22;
                ctx.SaveChanges();
            }
Run Code Online (Sandbox Code Playgroud)

这是表:

CREATE TABLE [dbo].[aa](
    [a] [int] NULL,
    [b] [int] NOT NULL,
    [c] [int] NOT NULL
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)

和里面的价值观: 在此输入图像描述

但我得到一个例外:

属性"c"是对象的关键信息的一部分,无法修改.

在此输入图像描述

我是EF的新手.

任何帮助都感激不尽.

c# sql-server entity-framework

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

从不正确的Js Date对象中提取值?

我已经构建了一个函数来检查日期部分是否有效:

值示例:

new Date(2012,3,44) = 
Mon May 14 2012 00:00:00 GMT+0300 (Jerusalem Daylight Time)
Run Code Online (Sandbox Code Playgroud)

是函数(它的参数是由我发送的separately!)

function isDate(year, month, day)
{
   ...
}

alert(isDate( 2001,2,29));
Run Code Online (Sandbox Code Playgroud)

但是,我有一个问题.

如果我有一个无效的日期对象,如:: var t= new Date(2001,2,44) 我想将它发送到我的函数,我需要提取它的值.

如何提取44值+ 2值?

t.getDate() //13
t.getMonth() //3   (days went from march to april)
Run Code Online (Sandbox Code Playgroud)

任何帮助?

javascript

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

证书和哈希检查?

我问这个问题是为了 100% 确定。

关联

为了验证证书以确保它包含由证书颁发机构数字签名的信息,Web 浏览器会验证数字签名。由于数字签名是根据证书内容计算的加密哈希值,因此 Web 浏览器需要比较哈希值。Web 浏览器根据它收到的证书的内容计算哈希值。然后解密数字签名以确定证书颁发机构计算的哈希值。如果两个哈希值匹配,则 Web 浏览器确信该证书包含证书颁发机构验证和数字签名的信息。

问题 :

Web 浏览器根据收到的证书内容计算哈希值

浏览器知道证书在哪个摘要算法中使用,因此他使用它来计算哈希 - 基于证书内容。

然后解密数字签名以确定证书颁发机构计算的哈希值

浏览器知道哪个 CA 创建了证书,因此他从适当的计算机存储位置获取公钥并将其应用于加密的哈希值。结果是解密的哈希值。

然后看看两者是否相同。

我对吗 ?

security ssl certificate public-key-encryption

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

多播委托C#中的奇怪行为?

我有这个简单的事件:

public class ClassA
{
    public event Func<string, int> Ev;
    public int Do(string l)
    {
        return Ev(l);
    }
}
Run Code Online (Sandbox Code Playgroud)

和2方法:

  static int Display(string k)
        {
            return k.Length;
        }

  static int Display_2(string k)
        {
            return k.Length*10;
        }
Run Code Online (Sandbox Code Playgroud)

我正在注册这个活动:

 ClassA a = new ClassA();
 a.Ev += Display;
 a.Ev += Display_2;
Run Code Online (Sandbox Code Playgroud)

现在,我正在执行:

   Console.WriteLine(a.Do("aaa")); 
Run Code Online (Sandbox Code Playgroud)

输出 :

在此输入图像描述

什么 ???

  • 他在调用列表中有2种方法!它确实运行了它们,但为什么它只显示上次注册的结果?

  • 结果在哪里"3"消失了?(第一次调用)?(虽然两个display+都display_2被执行了......我没想到console.write会迭代结果.但也没想到他决定要显示哪个.)

编辑:

在此输入图像描述

.net c# delegates

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

String.Concat和线程安全?

在解决了这个问题之后,我仍然有一个问题.

我有两个优秀的答案,但我仍然有找到一个麻烦怎么会这样实际上是发生:(怎么可能有故障的情况可能会发生):

我将从一个例子开始:

public void Do(string [] g)
{
   g=null;     //<========
}

void Main()
{
    var t=new string[3];
    t[0]="1";   t[1]="1";   t[2]="1";
    Do( t);
    Console.WriteLine ( t.Length);
}
Run Code Online (Sandbox Code Playgroud)

标记行可以在不同的线程中执行,但每个线程都有自己的 g变量!
(请记住,我无法在arrray中添加项目.因为创建时会创建数组长度)

无论我对该函数 做什么Do- (无论在什么线程中),Console.Writeline结果将始终是3(除非使用ref).

所以让我们看看真正的代码:

    public static string Concat(params string[] values)
  #1  {
  #2      if (values == null)
  #3       {
  #4            throw new ArgumentNullException("values");
  #5       }
  #6        int totalLength = 0;
  #7        string[] strArray = new …
Run Code Online (Sandbox Code Playgroud)

.net c# string multithreading

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