gpt4 book ai didi

c# - 创建对象时是否可以为 const 变量赋值?

转载 作者:太空宇宙 更新时间:2023-11-03 22:35:37 26 4
gpt4 key购买 nike

我正在为 WebRequestTool 创建一个客户端,它包含一个 token ,该 token 在每个对象的整个生命周期中使用,但对于类的每个实体都是唯一的。由于我不希望在创建对象后更改该值,因此我希望它是常量。

我已经尝试使用从构造函数调用的内部 SetMethod,例如:

internal void setToken(string token)
{
this.TOKEN = token;
}

我也试过在构造函数中分配它。那也行不通。

public class Client
{
const TOKEN;

public client(string token)
{
this.TOKEN = token;
}
}

除了在声明常量时对其进行硬编码之外,真的没有其他方法可以分配常量吗?如果有的话是什么?

最佳答案

来自 documentation :

A const field can only be initialized at the declaration of the field

您可能想使用 readonly相反:

A readonly field can be initialized either at the declaration or in a constructor. Therefore, readonly fields can have different values depending on the constructor used

另一个不错的资源:Difference between readonly and const keyword in C#

关于c# - 创建对象时是否可以为 const 变量赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55354352/

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