gpt4 book ai didi

C# 静态类与预定义字符串的结构

转载 作者:IT王子 更新时间:2023-10-29 03:50:16 25 4
gpt4 key购买 nike

一位同事刚刚在 C# 中创建了以下构造(示例代码已简化)。他的目标是缩短代码其余部分中所有预定义字符串的表示法。

public struct PredefinedStrings
{
public const string VeryLongName = "Very Long Name";
public const string AnotherVeryLongName = "Another Very Long Name";
public const string TheLastVeryLongName = "The Last Very Long Name";
}

public static void MethodThatUsesTheNames()
{
Console.WriteLine(PredefinedStrings.VeryLongName);
Console.WriteLine(PredefinedStrings.AnotherVeryLongName);
Console.WriteLine(PredefinedStrings.TheLastVeryLongName);
}

虽然这对他来说似乎工作得很好,但我一直想知道他是否应该使用静态类而不是结构,或者是否有更优雅的方法来实现这一点。

执行此操作的首选方法是什么?也请说明原因。

最佳答案

使用 struct 解决方案,没有什么可以阻止其他代码执行 new PredefinedStrings(),这不会做任何坏事,但它在语义上是令人困惑的。对于静态类,编译器将禁止为您创建。不用说,静态类是在框架中提供常量的首选方式。

编辑 添加,我说第二部分没有证据 - 从那以后我进行了搜索并很快找到了 System.Net.Mime.DispositionTypeNamesSystem.Net.WebRequestMethods.Http.

关于C# 静态类与预定义字符串的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2223162/

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