gpt4 book ai didi

c# - 是否可以声明一个全局变量并在函数中对其进行初始化? C#

转载 作者:太空宇宙 更新时间:2023-11-03 23:39:53 29 4
gpt4 key购买 nike

public Tiles[,] tiles;

是一个全局变量,一个数组,我敢说,它的大小还有待发现。这就是为什么我希望在一个函数中初始化它。唉,函数做完了,变量也做完了。如何解决这个问题?

最佳答案

如果你这样写:

public void Init()
{
tiles = new Tiles[2, 5];
}

实例化的数组仍然存在。因为它存储在类范围内的 tiles 变量中,所以它的生命周期是对象的生命周期。因此,您无需担心。随后访问 tiles 字段(应该是一个属性...)将使用在 Init 中创建的对象。

顺便说一句,该变量不是全局的,它的范围是类。除了静态之外,C# 中没有“全局”变量这样的东西(甚至静态成员的作用域仍然限于它们的类,它确实有一个全局实例)。

注意

Jon Skeet 的回答指出了初始化变量等方面的优秀实践。我主要是想解决这个答案中对变量范围/生命周期的误解。

关于c# - 是否可以声明一个全局变量并在函数中对其进行初始化? C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29423671/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com