首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >正在接收“赋值的表达式必须是常量”

正在接收“赋值的表达式必须是常量”
EN

Stack Overflow用户
提问于 2011-09-08 20:58:20
回答 5查看 33.3K关注 0票数 31

有没有办法使用这样的东西:

代码语言:javascript
复制
private const int MaxTextLength = "Text i want to use".Length;

我认为它比使用像这样的东西更具可读性,更不容易出错:

代码语言:javascript
复制
private const int MaxTextLength = 18;

有没有办法让文本的长度成为常量变量的来源?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-09-08 21:00:30

代码语言:javascript
复制
private readonly static int MaxTextLength = "Text i want to use".Length;
票数 40
EN

Stack Overflow用户

发布于 2011-09-08 21:00:39

使用static readonly而不是const

常量必须是编译时常量

票数 27
EN

Stack Overflow用户

发布于 2011-09-08 21:00:57

不幸的是,如果使用const关键字,'=‘右侧的值必须是编译时常量。使用“字符串”.length需要执行.NET代码,这只能在应用程序运行时执行,而不是在编译时。

您可以考虑将字段设置为只读,而不是常量。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7348404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档