草庐IT

variable_heap_stack

全部标签

c# - 调试时 "run until this variable changes"怎么办?

在调试我的C#时,我经常想知道变量的值何时更改,然后调查程序的状态。目前,我是这样做的:观察列表有问题的变量。物理垃圾邮件F10(StepOver的快捷方式),直到我看到值发生变化。但是,所需的F10数量很烦人。我想,这肯定是自动化的。但我在MicrosoftVisualC#Express中找不到此功能,这让我很吃惊。毕竟,监视列表会自动以亮红色突出显示更改的值。我错过了什么吗? 最佳答案 Express版的简单技巧:privatestringmyValue;publicstringMyValue{set{if(this.myVal

c# - variable = null as "object destroying"是从哪里来的?

我在许多不同的公司处理用各种版本的.NET编写的许多遗留系统,我一直在寻找以下模式的示例:publicvoidFooBar(){objectfoo=null;objectbar=null;try{foo=newobject();bar=newobject();//Codewhichthrowsexception.}finally{//Destroyingobjectsfoo=null;bar=null;}}对于了解内存管理在.NET中如何工作的任何人来说,这种代码是不必要的;垃圾收集器不需要您手动分配null来告诉旧对象可以被收集,分配null也不需要指示GC立即收集该对象。这种模式只

c# - 不使用匿名对象时 Dapper 动态参数抛出 SQLException "must define scalar variable"

(此代码使用C#中的DapperDotNet)此代码有效:varcommand="UPDATEaccountSETpriority_id=@PriorityWHEREname=@Name";connection_.Execute(command,new{Name="myname",Priority=10});此代码抛出一个SqlException:classMyAccount{publicstringName;publicintPriority;}varcommand="UPDATEaccountSETpriority_id=@PriorityWHEREname=@Name";vara

c# - 为什么 Stack Trace 显示我的开发文件路径?

VisualStudio2010SP1,编译WCF应用程序,将其放在服务器上,当然它在第一次运行时出错(新增功能),将StackTrace输出到日志文件。它正在查看我的开发环境的路径。为什么?是因为与Release相比我将其部署为Debug还是有其他原因,还是我应该更小心地输出StackTraces?04/09/201203:58:46:Error:Objectreferencenotsettoaninstanceofanobject.atApp1.Logging.LogMessageToFile(Stringmsg,BooleanisUsingClickOnceApp)inC:\Us

C# 错误 : Use of unassigned local variable

我不确定为什么会收到此错误,但这段代码不应该编译吗,因为我已经在检查队列是否正在初始化?publicstaticvoidMain(String[]args){BytemaxSize;Queuequeue;if(args.Length!=0){if(Byte.TryParse(args[0],outmaxSize))queue=newQueue(){MaxSize=maxSize};elseEnvironment.Exit(0);}else{Environment.Exit(0);}for(Bytej=0;j因此,如果队列未初始化,那么for循环就无法访问,对吧?由于程序已经以Envir

c# - "Use of unassigned local variable"是什么意思?

我不断收到有关annualRate、monthlyCharge和lateFee的错误。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceLab_5___Danny_Curro{classProgram{staticvoidMain(string[]args){stringfirstName;stringlastName;intaccNumber;stringcreditPlan;doublebalance;stringstatus;Booleanlate=fals

c# - 为什么 "View Heap"结果与 Visual Studio 中的 'Process Memory Usage' 不匹配

我正在尝试使用VisualStudio来跟踪我的应用程序中的内存使用情况。在“诊断工具”窗口中,它显示我的应用程序正在使用423MB。谢谢,我转到“内存使用”和“ViewHeap”,当我单击快照时,我会得到一个显示对象大小的表格。但是当我把这些数字加起来时:=3317228+403764+354832+264984+244836+195748+144032+28840+16452+13920+13888+3428+2100+20=5004072=4.77MB我的问题是为什么这个数字4.77MB与我在“内存”图表上看到的423MB不匹配。我希望在左边的表格中看到423MB的去向。请告诉我

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# - 哪些行为驱动开发 (BDD) 工具/框架可用于 Microsoft Stack?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion我对BehaviorDrivenDevelopment(BDD)感兴趣是否有适用于.Net平台(最好是C#和ASP.Net)的任何好的框架和/或工具?什么时候BDD被证明最适合在现实场景中使用?(辅助问题)

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