相关疑难解决方法(0)

C#中的可变范围混淆

我有两个代码示例.第一个不编译,但第二个编译.

代码示例1 (不编译)

public void MyMethod(){
    int i=10;

    for(int x=10; x<10; x++) {
        int i=10; // Point1: compiler reports error
        var objX = new MyOtherClass();
    }

    var objX = new OtherClassOfMine(); // Point2: compiler reports error
}
Run Code Online (Sandbox Code Playgroud)

我理解编译器报告错误的原因Point1.但我不明白为什么它报告错误Point2.如果你说这是因为MSIL中的组织,那为什么第二个代码示例会编译?

代码示例2 (编译)

public void MyMethod(){

    for(int x=10; x<10; x++) {
        int i=10; 
        var objX = new MyOtherClass();
    }

    for(int x=10; x<10; x++) {
        int i=10; 
        var objX = new MyOtherClass();
    }
}
Run Code Online (Sandbox Code Playgroud)

如果变量范围的简单规则适用于代码示例2,那么为什么这些规则不适用于代码示例1?

c# scope

16
推荐指数
3
解决办法
2万
查看次数

C#引用另一个方法的变量

我是C#的新手,我真的需要知道如何从另一个方法调用/使用字符串.

例如:

public void button1_Click(object sender, EventArgs e)
{ 
    string a = "help";
}

public void button2_Click(object sender, EventArgs e)
{
    //this is where I need to call the string "a" value from button1_click 
    string b = "I need ";
    string c = b + a;          
}
Run Code Online (Sandbox Code Playgroud)

所以在这个例子中我需要调用函数中函数中定义的字符串" a "button1_Click()button2_Click()

谢谢!!

c# methods call

9
推荐指数
3
解决办法
10万
查看次数

标签 统计

c# ×2

call ×1

methods ×1

scope ×1