gpt4 book ai didi

c# - 变量,在类中还是在方法中哪个更好?

转载 作者:太空宇宙 更新时间:2023-11-03 21:46:21 25 4
gpt4 key购买 nike

只是想知道其中哪一个最适合练习?

代码 1:

public void push<T>(T pushthis)
{
pusher pusher = new pusher();
pusher.push(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(pushthis));
}

代码 2:

public void push<T>(T pushthis)
{
pusher pusher = new pusher();
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
pusher.push(serializer.Serialize(pushthis));
}

代码 3:

public class pusher()
{
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();

public void push<T>(T pushthis)
{
pusher pusher = new pusher();
pusher.push(serializer.Serialize(pushthis));
}
}

我想知道是否更好地为序列化器创建一个变量,如果是的话,把它放在哪里,在方法内还是在类内我将多次使用 push 方法,仅使用类 pusher 的一个实例。

如果可能的话,你能不能提供一些引用资料供我研究代码优化

最佳答案

方法的第一种和第二种编码方式是相同的。局部变量被定义并立即使用;没有其他地方使用serializer

第三种编码方式在 pusher 的多次调用中重用 serializer。它不会多次调用 JavaScriptSerializer 的构造函数,因此可能更高效。

您可以通过将serializer 变量设为static,在类pusher 的所有实例之间共享JavaScriptSerializer。除非您动态更改配置,例如通过调用 RegisterConverters,否则您可以进一步减少构造函数的调用次数。

关于c# - 变量,在类中还是在方法中哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16848713/

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