使用子范围中使用的变量名称

这个问题在这里已经有了答案:

  • C#变量范围:'x'不能在这个范围内声明,因为它会给'x'3个答案以不同的含义

  • 它是C#设计人员设计的选择。 它减少了潜在的歧义。

    你可以在if或outside之外的两个地方使用它,但你只能在一个地方定义它。 否则,您会发现编译器错误。


    我注意到的东西在这里没有提到。 这将编译:

    for (int i = 0; i < 10; i++)
    {
        int a = i * 2;
    }
    for (int i = 0; i < 5; i++)
    {
        int b = i * 2;
    }
    

    总而言之,这些设计决定似乎不一致,或者至少分别具有限制性和宽容性。


    正如Adam Crossland所说,这是一个设计选择 - 旨在确保您(或更有可能的是,您的开发人员)不会误解代码。

    您经常会看到以“m_”或“_”为前缀的私有实例成员(例如。_myVar或m_myVar),以避免混淆。

    链接地址: http://www.djcxy.com/p/53045.html

    上一篇: Using a variable name used in a child scope

    下一篇: A local variable cannot be declared in this scope[Linq/Lambda expression]