草庐IT

常量池

全部标签

c# - Enum.GetNames() 导致带有负枚举常量的意外顺序

我有以下枚举定义(在C#中):publicenumELogLevel{General=-1,//Shouldonlybeusedindrop-downboxinMerliniaAdministratorlogsettingsAll=0,//Shouldnotbeusedasalevel,onlyasathreshold,effectivelysameasTraceTrace=1,Debug=2,Info=3,Warn=4,Error=5,Fatal=6,Off=7//Shouldnotbeusedasalevel,onlyasathreshold}现在,当我对这种类型执行Enum.Ge

c# - 在 WPF XAML 中,如何连接 2 个常量以便使用预定义路径?

我想用c#常量替换源路径的路径部分,以便于路径管理,例如我有:在另一个类中我定义了常量:publicstaticreadonlystringUriImagesButtons="/Images/Big/PNG/";我想要一些类似的东西:这意味着我可以在需要时一次性更改全局路径。执行此操作的语法是什么? 最佳答案 最简单的方法是使用带有StringFormat的MultiBinding:在StringFormat参数中,您必须使用“{}”转义第一个大括号,这样XAML解析器就不会认为它是标记扩展。

c# - 在 .NET 中,为什么常量在编译时而不是在 JIT 时求值?

今天,当我更改静态类中公开可见常量的值,然后用新编译的版本替换程序集的旧副本时,我有点吃惊。令人惊讶的是,引用程序集的现有程序没有获取常量的新值。也就是说,我没有重新编译可执行文件,而是只是替换了那个程序集。我的实验的完整描述位于Howconstantisaconstant?我承认我对这种行为感到非常惊讶。我明白发生了什么,但我不明白为什么。是否有特殊的技术原因导致无法在JIT时间而不是编译时间获取常量?在某些情况下这样做会破坏事情吗? 最佳答案 常量应该是常量。对于所有时间。常量是诸如pi的值或铅原子中的质子数之类的东西。如果你的

c# - 为什么 C# 不提供类似于 C++ 的常量?

C#中的引用与C++中的引用非常相似,只是它们是垃圾回收的。为什么C#编译器很难支持以下内容:标记为const的成员函数。对标记为const的数据类型(字符串除外)的引用,通过它只能调用const成员函数?我相信如果C#支持它,那将非常有用。其一,它确实有助于C#程序员返回对私有(private)数据的裸引用(至少我在工作场所看到的是这种情况)看似普遍的同性恋放弃。或者在C#中是否已经存在我所缺少的等价物?(我知道readonly和const关键字,但它们并不能真正满足上述目的) 最佳答案 我怀疑有一些实际原因,还有一些理论上的原因

c# - 一周中天数的系统常量 (7)

谁能在.NET框架中找到一个常量来定义一周中的天数(7)?DateTime.DaysInAWeek//Somethinglikethis???当然我可以定义我自己的,但如果它已经在某处,我宁愿不定义。更新:我正在寻找这个,因为我需要允许用户从DropDownList的列表中选择一周(按日期,而不是周数)。 最佳答案 您可能会使用System.Globalization.DateTimeFormatInfo.CurrentInfo.DayNames.长度。 关于c#-一周中天数的系统常量(

c# - 声明一个长常量字节数组

我有一个长字节数组,需要在我的C#代码中声明。我做这样的事情:publicstaticclassDefinitions{publicconstbyte[]gLongByteArray=newbyte[]{1,2,3,//andsoon};}但是我得到一个错误,const数组可能只用空值初始化。如果我将const更改为static它会编译,但我的问题是——当我将它声明为publicstaticbyte[]gLongByteArray它不会在我的应用程序每次加载时都被初始化,对吧?在这种情况下,gLongByteArray变量将简单地指向一个数组,该数组在加载到内存中的已编译exe/dll

c# - 如何在 c# xml 文档中引用枚举常量

我想记录枚举类型字段的默认值://////Thedefaultvalueis.///publicOrientationBoxOrientation;编译器警告它无法解析引用。前缀F:或M:会使编译器静音,但E:也会静音,所以我不确定哪个前缀是正确的。 最佳答案 前缀F、M和E都是有效的,可能是编译器警告消失的原因。不过,您应该使用引用字段的F。有关VisualStudio如何生成文档标识符的更多信息,请参阅:ProcessingtheXMLFile(C#ProgrammingGuide)

c# - .NET 框架中是否有针对不同 Web 方法类型(GET、PUT、POST、DELETE、HEAD)的常量?

我刚刚在创建RESTfulWCF服务时注意到WebInvoke属性上的Method参数区分大小写(需要大写)。所以,[WebInvoke(Method="Delete")]不等于[WebInvoke(Method="DELETE")]这个错误导致了ProtocolException:System.ServiceModel.ProtocolException:Theremoteserverreturnedanunexpectedresponse:(405)MethodNotAllowed.我想知道我应该使用.NET框架中的一组常量来代替上面示例中的“DELETE”。我当然可以定义我自己的

c# - ASP.NET MVC : Problem setting the Authorize attribute Role from a variable, 需要常量

我在设置变量的授权属性角色值时遇到问题。错误消息说它需要一个const变量。当我创建一个const类型变量时,它工作正常,但我试图从Web.Config文件或任何其他允许最终用户设置它的文件加载值。我正在使用集成的Windows身份验证,因为这是一个仅限Intranet的应用程序。有没有办法从Controller检查用户角色?我将在if语句中使用它而不是属性来进行身份验证。[Authorize(Roles=Config.GMPUser)]publicActionResultIndex(){returnView();} 最佳答案 我有

c# - 为什么我不能在 C# 中使用 var 声明常量?

这个问题在这里已经有了答案:Type-inferringaconstantinC#(11个答案)关闭9年前。这个:constinta=5;编译得很好,而constvara=5;不会...而:vara=5;编译和这个一样好:inta=5;为什么?