小编Exp*_*ser的帖子

C#ForEach循环(循环中的字符串声明)

我有这个字符串数组的名称.

string[] someArray = { "Messi", "Ronaldo", "Bale", "Neymar", "Pele" };

foreach (string item in someArray)
  {
     Console.WriteLine(item);
  }
Run Code Online (Sandbox Code Playgroud)

当我在调试模式下运行foreach行上的断点并使用Step Into时,每次传递都会突出显示字符串项,就像它再次声明它一样.我想它应该只突出项目.这是否表示每次再次声明项目?

注意:使用VS 2012.

c# foreach

5
推荐指数
2
解决办法
1816
查看次数

可变寿命

当执行行超出代码块之外时,变量会发生什么?例如:

1  public void myMethod()
2  {
3     int number;
4     number = 5;
5  }
Run Code Online (Sandbox Code Playgroud)

因此,我们声明并设置变量。当它超出代码块(第5行)时,变量号发生了什么?

这是创建类实例的另一个示例:

7   public void myMethod()
8   {
9      Customer myClient;
10     myClient = new Customer();
11  }
Run Code Online (Sandbox Code Playgroud)

当它超出代码块(第11行)时,对象引用myClient会发生什么?

我猜这两种情况都分配了变量,但是何时将其释放呢?

c# lifetime object-lifetime lifetime-scoping

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

C#中的命名空间范围

命名空间的名称是否也定义了类中的范围?

  1. 例如,我有默认情况下由解决方案命名的命名空间.让我们说在Program.cs名称空间是"MySolution".
  2. 在我创建的下一个文件界面中,命名空间的名称是"Interfaces"

当我回到课堂上,为了实现这个界面,它不在范围内(我在intellisense中找不到它).因此,如果类有一个命名空间,并且接口有第二个命名空间,那么我不能在我的类中使用它.我认为命名空间仅用于组织类(如姓氏),但我想它也定义了范围.

c# scope namespaces

3
推荐指数
1
解决办法
859
查看次数