C#/Visual Studio调试示例
我正在尝试编写一个代码示例,用C#演示Visual Studio 2008中的调试功能。我正在尝试构建一个代码示例,其中可能有一个“不太明显”的错误,这将导致意外的输出 一个不起作用的例子是:C#/Visual Studio调试示例,c#,visual-studio,debugging,C#,Visual Studio,Debugging,我正在尝试编写一个代码示例,用C#演示Visual Studio 2008中的调试功能。我正在尝试构建一个代码示例,其中可能有一个“不太明显”的错误,这将导致意外的输出 一个不起作用的例子是: static void Main(string[] args) { int a, b; a = args[0]; b = args[1]; if (a = b) Console.WriteLine("They are equal!"); else if (a &
static void Main(string[] args) {
int a, b;
a = args[0];
b = args[1];
if (a = b) Console.WriteLine("They are equal!");
else if (a < b) Console.WriteLine("Number 1 is smaller!");
else Console.WriteLine("Number 1 is larger!");
}
static void Main(字符串[]args){
INTA,b;
a=args[0];
b=args[1];
if(a=b)Console.WriteLine(“它们相等!”);
否则如果(a
这样的事情在阅读代码时不会太明显,但通过调试可以很容易地检测到
我正在寻找这样一个在VisualStudio2008中使用C#的例子
谢谢你的帮助 这里有一个你可以插入的片段
string a = "foo";
a.Replace("foo", "bar");
Console.WriteLine(a);
这里有一个片段,你可以加入
string a = "foo";
a.Replace("foo", "bar");
Console.WriteLine(a);
您可以使用常见的编程错误,如:
- 忘记
- 使用
我认为fencepost错误对于调试示例可能最有效。代码可能会在整个数组/集合/任何对象上通过for循环运行,但它可能使用obj.length而不是obj.length-1。您可以使用常见的编程错误,如:
- 忘记
- 使用
if (a != b)
Method1();
Method2(); // will always be called, even if a == b
…如果省略花括号,则会发生这种情况,例如,其目的是:
if (a != b)
{
Method1();
Method2();
}
大概是这样的:
if (a != b)
Method1();
Method2(); // will always be called, even if a == b
…如果省略花括号,则会发生这种情况,例如,其目的是:
if (a != b)
{
Method1();
Method2();
}
我遇到的其他几个简单错误: 1-在使用foreach对集合进行迭代时从集合中移除项(尽管这会引发异常,因此如果未捕获,则您可能会在不需要调试器的情况下注意到它):
我遇到的其他几个简单错误: 1-在使用foreach对集合进行迭代时从集合中移除项(尽管这会引发异常,因此如果未捕获,则您可能会在不需要调试器的情况下注意到它):
对于这个错误,调试器指出的方式是错误的。如果你只是浏览一下一些代码,就很难看到这个错误(这是我遇到的)。当在调试器中单步执行该代码时,“错误”将立即清除。我同意,调试器在这方面很好。对于这个错误,调试器指出的方式是错误的。如果你只是浏览一些代码(它发生在我身上),就很难看到这个错误。当在调试器中单步执行该代码时,“错误”将立即清除。我同意,调试器在这方面很好。它实际上是为我正在开发的一个小型速成课程而开发的。它实际上是为我正在开发的一个小型速成课程而开发的