小编Eme*_*erG的帖子

函数调用后,“静态”值似乎已重置

我找到了很多有关静态的文章(MSDNMSDN 2Stack Overflow等等),但是我仍然不明白为什么此代码返回-1

class Program
{
    static int value = 0;

    static int foo()
    {
        value = value - 7;
        return 1;
    }

    static void Main(string[] args)
    {
        value -= foo();
        Console.WriteLine(value);
        Console.ReadKey();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是调试器在foo()运行后但从中减去结果之前显示的内容value

foo = 1,value = -7

但是,下一步value-1

值= -1

我希望-8因为静态字段存储在内存中一次。

当我将其更改为

var x = foo();
value -= x;
Run Code Online (Sandbox Code Playgroud)

表明 -8

究竟如何运作?

c#

88
推荐指数
6
解决办法
9223
查看次数

default(接口)将返回什么?

我发现一些代码,但我不知道什么是回报的目的default接口

interface由少数实现classES

 public ISocketDevicePart Parent => default(ISocketDevicePart);

 public interface ISocketDevicePart
 {
     ISocketDevicePart Parent { get; }
     IEnumerable<ISocketDevicePart> Childs { get; }
     IXYOffset Offset { get; set; }
 }
Run Code Online (Sandbox Code Playgroud)

我不确定结果。它应该null 总是返回吗?

c#

4
推荐指数
1
解决办法
72
查看次数

标签 统计

c# ×2