小编Joh*_*n V的帖子

在for循环中声明的变量是局部变量?

我一直在使用C#很长时间但从未意识到以下情况:

 public static void Main()
 {
     for (int i = 0; i < 5; i++)
     {

     }

     int i = 4;  //cannot declare as 'i' is declared in child scope                
     int A = i;  //cannot assign as 'i' does not exist in this context
 }
Run Code Online (Sandbox Code Playgroud)

那么,为什么我不能在for块之外使用'i'的值,如果它不允许我声明一个带有这个名字的变量?

我认为for循环使用的迭代器变量仅在其范围内有效.

c# variables scope

134
推荐指数
6
解决办法
7238
查看次数

C#是部分解释还是真正编译?

关于这一点有很多矛盾的信息.虽然有人说C#被编译(因为它被编译成IL然后在运行时被编译为本机代码),但是其他人说它被解释为它需要.NET.EN Wiki说:

许多解释语言首先被编译为某种形式的虚拟机代码,然后在运行时将其解释或编译为本机代码.

所以我很困惑.任何人都可以清楚解释这个

c# compiled interpreted-language

65
推荐指数
6
解决办法
6万
查看次数

声明和决策覆盖范围之间的差异

据说语句覆盖确保代码中的每个语句至少执行一次.据说
决策/分支覆盖测试是测试决策的每个分支/输出,即将执行假/真分支中的所有语句.
但是不一样吗?在Statement覆盖中我需要执行所有语句,所以我想它只能通过运行所有可能的方式来完成.我知道我在这里遗失了一些东西..

metrics code-coverage

24
推荐指数
3
解决办法
4万
查看次数

C#不让我把两条短裤加成一条短线

我有一个代码:

static short Sum(short a, short b)
        {
            return a + b;
        }
Run Code Online (Sandbox Code Playgroud)

而且它没有编译,saynig无法将'int'转换为'short'.我今天可能真的很累,但我看不出这个问题!

c# type-conversion

12
推荐指数
2
解决办法
6201
查看次数

JMeter测试ASP .NET网页有多好?

我被告知JMeter在ASP.NET页面遇到了一些问题,这是真的吗?

我是JMeter的初学者,不想遇到一些我无法解决的问题.我读过有些人成功使用它,事实是,它需要多少手动更改和JMeter知识?

另外一个基本问题:JMeter的最新版本在测试ASP网页方面有多好?

asp.net testing jmeter

8
推荐指数
1
解决办法
2万
查看次数

如果OnPaint无法加载一次图片,为什么不再调用它?

我找到了一些我并不真正得到的东西:

protected override void OnPaint(PaintEventArgs e)
{
    DrawChar(e.Graphics);
    base.OnPaint(e);
}

void DrawChar(Graphics g)
{
    if (body != null)
    {
        g.DrawImage(body, X, Y);
    }
}
Run Code Online (Sandbox Code Playgroud)

假设"body"是空的 - 如果我删除DrawChar中的条件,程序从不绘制任何东西,我发现onPaint甚至不再被提升(例如,当调整大小或缩小和恢复窗口时).

编辑:重点是 - 如果DrawImage失败(你不知道调试器,它只是不绘制图像,例如当Image为null)时,应用程序中的OnPaint事件不再被引发.

c# onpaint

8
推荐指数
1
解决办法
131
查看次数

此示例中的故障/错误/故障

具有以下一般定义:
故障 - 错误的原因(编码
错误)错误 - 可能导致故障
失败的错误状态- 服务偏离正确的服务

以下代码中的正确应用程序是什么:

当余额为100或更少时,代码不应允许撤销

  if (Balance<100) 
    {
    return false; 
    }
    else WithDraw();
Run Code Online (Sandbox Code Playgroud)

据我了解,故障是缺少=运算符.但是错误和失败会是什么?

testing computer-science terminology

7
推荐指数
1
解决办法
8840
查看次数

如果没有解释C#,那么为什么需要VM呢?

我已经阅读了很多关于C#的争议,有些人说它被解释,有些人说它不是.我知道它被编译到MSIL中,然后在运行时进行JITed,具体取决于处理器等......但它是否仍然以它需要运行VM(.NET)的方式解释?

c# programming-languages

6
推荐指数
1
解决办法
2万
查看次数

静态分析真的是形式验证吗?

我一直在阅读关于形式验证的文章,基本点是它需要一个正式的规范和模型来使用。然而,许多来源将静态分析归类为形式验证技术,有些提到抽象解释并提到它在编译器中的使用。所以我很困惑 - 如果没有模型的正式描述,这些如何进行形式验证?
编辑:我发现的一个来源是:

静态分析:根据预定义的抽象(有时可以由用户自动/手动定制)从程序文本中自动计算抽象语义

那么这是否意味着它只适用于源代码而无需正式规范?这就是静态分析器所做的。

另外,在没有形式验证的情况下可以进行静态分析吗?例如,SonarQube 真的执行形式化方法吗?

formal-verification static-analysis formal-semantics

6
推荐指数
1
解决办法
1557
查看次数

静态分析可以检测内存泄漏吗?

很久以前我收到了ISTQB认证,我记得它有以下区别: -
静态分析:对源代码执行,检测无法访问的代码,未分配的值等. -
动态分析:可以检测内存泄漏等,需要执行(分析).

但是当我今天搜索时,我可以看到各种网站和提到静态分析的来源也能够检测到内存泄漏.

所以我想知道,静态分析真的有能力吗?如果是这样,那么就结果而言,动态分析之间有什么不同?

testing memory-leaks code-analysis static-analysis

6
推荐指数
2
解决办法
6169
查看次数