草庐IT

special-variables

全部标签

c# - lock(locker) 和 lock(variable_which_I_am_using) 的区别

我正在使用C#和.NEt3.5。OptionA和OptionB有什么区别?classMyClass{privateobjectm_Locker=newobject();privateDicionarym_Hash=newDictionary();publicvoidOptionA(){lock(m_Locker){//Dosomethingwiththedictionary}}publicvoidOptionB(){lock(m_Hash){//Dosomethingwiththedictionary}}}我开始涉足线程(主要是为多线程应用程序创建缓存,不使用HttpCache类,因为

c# - 并行.For() : Update variable outside of loop

我只是在研究新的.NET4.0功能。因此,我正在尝试使用Parallel.For和普通的for(x;x;x)循环进行简单计算。但是,我大约有50%的时间会得到不同的结果。longsum=0;Parallel.For(1,10000,y=>{sum+=y;});Console.WriteLine(sum.ToString());sum=0;for(inty=1;y我的猜测是线程试图同时更新“sum”。有明显的解决方法吗? 最佳答案 你不能这样做。sum正在并行线程之间共享。您需要确保sum变量一次只被一个线程访问://DON'TDOT

C#7 : Underscore ( _ ) & Star ( * ) in Out variable

我正在阅读C#7中新的输出变量功能here.我有两个问题:它说Weallow"discards"asoutparametersaswell,intheformofa_,toletyouignoreoutparametersyoudon’tcareabout:p.GetCoordinates(outvarx,out_);//Ionlycareaboutx问:我想这只是一个信息,而不是C#7的新功能,因为我们也可以在C#7.0之前的版本中这样做:var_;if(Int.TryParse(str,out_))...还是我在这里遗漏了什么?当我按照同一博客中提到的那样操作时,我的代码会出错:~

c# - lock(new object()) -- cargo 崇拜或一些疯狂的 "language special case"?

我正在审查一位顾问编写的一些代码,虽然已经出现了数十个危险信号,但我无法理解以下代码片段:privatevoidfoo(){if(InvokeRequired){lock(newobject()){if(m_bar!=null)Invoke(newfooDelegate(foo),newobject[]{});}}else{if(OnBazChanged!=null)OnBazChanged();}}lock(newobject())在这里做什么?应该没有任何影响,因为它总是锁定另一个对象,但这种锁定在整个代码中都是持久的,即使在非复制和粘贴的部分也是如此。这是C#语言中的一些特殊情况

c# - "Special Class"到底是什么?

在编译失败之后:publicclassGenwhereT:System.Array{}错误Aconstraintcannotbespecialclass`System.Array'我开始疑惑,到底什么是“特殊类(class)”?当人们在通用约束中指定System.Enum时,他们似乎经常遇到相同类型的错误。我用System.Object、System.Delegate、System.MulticastDelegate和System.ValueType也得到了相同的结果.还有更多吗?我在C#中找不到关于“特殊类”的任何信息。另外,那些类有什么特别之处以至于我们不能将它们用作泛型类型约束?

c# - 161803398 是一个 'Special' 的数字吗? Math.Random() 内部

我怀疑答案是“因为数学”,但我希望有人能在基本层面提供更多见解...我今天在BCL源代码中翻来覆去,看看我以前使用的一些类实际上是如何实现的。我以前从未想过如何生成(伪)随机数,所以我决定看看它是如何完成的。完整来源:http://referencesource.microsoft.com/#mscorlib/system/random.cs#29privateconstintMSEED=161803398;每次为Random()类播种时都会使用此MSEED值。无论如何,我看到了这个“神奇的数字”——161803398——我完全不明白为什么选择这个数字。它不是素数或2的幂。它不是看起来

javascript - 引用错误 : variable is not defined

我有时会遇到这个问题,但仍然不知道是什么原因造成的。我在页面中有这个脚本:$(function(){varvalue="10";});但是浏览器显示“ReferenceError:valueisnotdefined”。但是,如果我转到浏览器控制台并输入10或varvalue="10";它们中的任何一个都可以返回10。我的脚本有什么问题? 最佳答案 它在闭包内声明,这意味着它只能在那里访问。如果你想要一个全局可访问的变量,你可以删除var:$(function(){value="10";});value;//"10"这等同于编写win

JavaScript ||或带有 undefined variable 的运算符

我最近一直在阅读一篇来自Opera的文章。http://dev.opera.com/articles/view/javascript-best-practices/在那篇文章中他们写道:AnothercommonsituationinJavaScriptisprovidingapresetvalueforavariableifitisnotdefined,likeso:if(v){varx=v;}else{varx=10;}Theshortcutnotationforthisisthedoublepipecharacter:varx=v||10;出于某种原因,我无法让它为我工作。如果没

javascript - Chrome 扩展 : Get Page Variables in Content Script

有什么方法可以从GoogleChrome内容脚本中检索页面的javascript变量吗? 最佳答案 如果你真的需要,你可以插入一个元素到页面的DOM中;中的代码元素将被执行,并且该代码将可以访问窗口范围内的JavaScript变量。然后,您可以使用data-将它们传回内容脚本属性和触发自定义事件。听起来很尴尬?为什么是的,是的,并且出于serg引用的文档中的所有原因而故意如此。但如果你真的、真的需要这样做,那是可以做到的。参见here和here获取更多信息。祝你好运! 关于javascr

javascript - 引用错误 : Can't find variable: __gCrWeb

我的网站上有javascript错误跟踪。最近我开始从iPhone(IOS7和8)上的Chrome(版本37和38)收到以下错误:ReferenceError:Can'tfindvariable:__gCrWeb除了一些引用资料外,我找不到关于此错误的任何有用信息。有没有人以前见过它并且知道为什么会这样? 最佳答案 __gcrweb是gcrweb.js的引用,它是由iOS版本的Chrome注入(inject)的本地(在设备上)js。Google需要为某些扩展功能执行此操作(主要是插入/检索登录凭据和您通过另一个同步的Chrome浏览