首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何访问foreach之外的变量(C#)

在C#中,要访问foreach循环之外的变量,可以使用refout关键字。这些关键字允许您将变量作为引用传递,而不是按值传递。这样,在foreach循环内部所做的更改将影响到循环之外的变量。

以下是一个示例,说明如何在foreach循环之外访问变量:

代码语言:csharp
复制
using System;

class Program
{
    static void Main()
    {
        int[] numbers = { 1, 2, 3, 4, 5 };
        int total = 0;

        foreach (int number in numbers)
        {
            total += number;
        }

        Console.WriteLine("Total: " + total);
    }
}

在这个例子中,我们使用了一个名为total的变量来存储数组numbers中所有数字的总和。在foreach循环中,我们将每个数字添加到total中。在循环结束后,我们可以在循环之外访问total变量,并打印出总和。

如果您需要在foreach循环之外访问一个类的属性或字段,可以使用类似的方法。例如:

代码语言:csharp
复制
using System;

class MyClass
{
    public int MyProperty { get; set; }
}

class Program
{
    static void Main()
    {
        MyClass[] objects = { new MyClass { MyProperty = 1 }, new MyClass { MyProperty = 2 }, new MyClass { MyProperty = 3 } };
        int total = 0;

        foreach (MyClass obj in objects)
        {
            total += obj.MyProperty;
        }

        Console.WriteLine("Total: " + total);
    }
}

在这个例子中,我们创建了一个名为MyClass的类,它具有一个名为MyProperty的属性。我们创建了一个MyClass对象数组,并使用foreach循环遍历数组。在循环中,我们将每个对象的MyProperty属性值添加到total变量中。在循环结束后,我们可以在循环之外访问total变量,并打印出总和。

请注意,在使用refout关键字时,必须确保变量在传递之前已经初始化。此外,不要将refout关键字用于不可变的变量,如常量或字面值。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券