gpt4 book ai didi

C# 一个类的 List<> 可以/应该是同一个类的静态成员吗​​?

转载 作者:行者123 更新时间:2023-11-30 20:23:36 25 4
gpt4 key购买 nike

我的例子:

class MyClass
{
public int a = 1;

public static List<MyClass> list = new List<MyClass>();
}

class Program
{
static void Main(string[] args)
{
MyClass.list.Add(new MyClass() { a = 5 });
MyClass.list.Add(new MyClass() { a = 10 });
foreach (MyClass item in MyClass.list) Console.WriteLine(item.a);

Console.ReadKey();
}

此代码有效,并表明我的列表(在 MyClass 类本身中静态定义)正在按照我的预期进行填充。

有什么理由不以这种方式定义我的列表吗?

最佳答案

有时会使用这样的解决方案,例如。实现单例或注册解析模式。

但是你应该记住它不太适合多线程环境。通常,静态集合应该是私有(private)的,访问方法(包括属性 getter 和 setter)应该是同步的。

此外,静态字段/属性很难进行单元测试。

关于C# 一个类的 List<> 可以/应该是同一个类的静态成员吗​​?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28547935/

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