gpt4 book ai didi

c# - 声明字符串 public static readonly 与 public const 与 public static const

转载 作者:IT王子 更新时间:2023-10-29 04:04:09 31 4
gpt4 key购买 nike

在我们的每个项目中,都有一个文件用于存储该项目中使用的各种SQL 语句。类的声明方式和字符串的声明方式有一些变化。

示例类声明:

internal sealed class ClassName
internal static class ClassName
public sealed class ClassName
public static class ClassName
internal class ClassName

示例字符串声明:

internal const string stringName
internal static string stringName
public static readonly string stringName
public static string stringName
public const string stringName

我不明白不同声明之间的性能影响是什么。这种情况/场景是否有最佳实践?

最佳答案

I don't understand what the performance implications are between the different declarations

评估数据库查询的成本可能是从常量字段更改为只读字段的成本差异的数百万数十亿倍,反之亦然。当您的数据库操作具有以毫秒为单位的延迟时,甚至不必担心需要几纳秒的操作的性能。

您应该担心的是语义,而不是性能。问题归结为“只读、常量还是两者都不是?”

正确理解语义。 “只读”字段意味着“每次执行此程序时此字段仅更改一次”,从空值到其值。 “常量”字段表示“此值永远不会改变,现在不会,下一个版本不会,永远不会,它始终保持不变”。普通字段可以随时更改值。

只读字段类似于版本号。它会随着时间而改变,但不会随着程序的执行而改变。常数类似于 pi,即铅的原子序数;它是固定的,永恒的,永不改变。普通字段适用于在程序过程中发生变化的事物,例如金价。您的查询是什么样的?它会在整个程序过程中保持不变,一直保持不变,还是根本不保持不变?

关于c# - 声明字符串 public static readonly 与 public const 与 public static const,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4402690/

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