gpt4 book ai didi

c# - 在我的示例中,在 c# 中调用静态是否安全?

转载 作者:太空宇宙 更新时间:2023-11-03 19:55:52 24 4
gpt4 key购买 nike

我在 utils.cs 类中放入了几个简单的辅助方法。下面是一个例子。我从 asp.net Controller 调用它,这意味着可能同时在许多线程上发生许多调用。

我意识到我这样做是因为 resharper 建议将类中的方法设为静态,但我担心这样做可能是错误的做法,也许我应该在每次调用时都更新 Utils 类。

想法?

public class Utils
{
public static List<Speaker> FilterSpeakersByTenant(List<Speaker> inSpeakers, string tenantName)
{
return
inSpeakers.
Where(speaker => speaker.Sessions.
Any(a => a.TenantName == tenantName)).
ToList();
}

最佳答案

如果您不在静态方法中访问全局/共享状态,那么应该没问题...

当您在并发线程中访问参数(例如列表)时,可能会出现唯一的多线程问题。

如果类没有任何状态(即成员变量或属性),则无论是实例化类还是使用静态方法都没有区别。

关于c# - 在我的示例中,在 c# 中调用静态是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33661505/

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