可变和不可变有什么区别?

2023-11-22

任何人都可以帮助我找到可变和不可变之间的基本区别吗?


不可变的意味着一旦初始化,对象的状态就不能改变。

可变意味着它可以。

例如 - .NET 中的字符串是不可变的。每当您对字符串进行操作(修剪、大写等)时,都会创建一个新字符串。

实际上,如果您想创建一个不可变类型,则只允许在其上使用 getter,而不允许任何状态更改(因此一旦构造函数完成运行,任何私有字段都无法更改)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

可变和不可变有什么区别? 的相关文章

  • 正则表达式在特定单词模式处分割字符串

    我正在尝试拆分一个可能如下所示的字符串 International Bank for Reconstruction Development NAICS 928120 SIC 6081 World Bank NAICS 928120 SIC
  • 在 C# 中获取实际日期时间而不是系统日期时间

    我正在构建的应用程序的一部分只能在特定时间段内访问 我知道我们可以使用以下属性获取当前系统时间DateTime在 C 中 如果我使用DateTime属性 然后用户可以更改系统时间并在需要时访问应用程序的部分 请告诉我如何在 C 中获取实际当
  • VS2010/C#4 的 C# 编译器错误 CS1628

    此编译器错误列在 C 编译器错误中MSDN http msdn microsoft com en us library we3011f5 28v vs 90 29 aspx适用于 VS2005 和 VS2008 但不适用于较新的版本 这会让
  • 从注册表中检索 Windows 密码提示

    我一直在尝试以编程方式提取 Windows 7 的 Windows 登录密码提示 我发现可以从注册表中的以下位置检索它HKLM SAM SAM Domains Account Users 用户密钥 UserPasswordHint但是 我不
  • 更改卡片布局中的活动项目。扩展JS

    我有一个使用卡片布局的面板 如下所示 var cardpanel new Ext Panel id cardPanel title Card Layout region center layout card activeItem 0 aut
  • 基于我的 C# 类生成 xml 文件

    我有 xml 文件 每次都需要根据新客户的要求进行更新 大多数时候 xml 不正确是因为手动更新了 xml 文件 我正在考虑编写一个提供适当验证的程序 网络 Windows 并根据 ui 的输入 我将创建 xml 文件 下面是我的示例 xm
  • CLR 2.0 和 CLR 4.0 之间的区别

    我阅读了无数关于 C 4 0 新功能的博客 帖子和 StackOverflow 问题 甚至新的 WPF 4 0 功能也开始公开出现 我找不到但想知道的内容 从 C WPF 开发人员的角度来看 CLR 4 0 有哪些主要变化 CLR 4 0
  • directshow.net 视频输入设备过滤器枚举是否已损坏(在较新的环境中)?

    directshow net 示例文件夹 标记为 2010 February 中的每个示例都可以正常编译 并且那些从文件播放视频的示例效果也很好 但是 每个尝试枚举 FilterCategory VideoInputDevices 的示例始
  • 类型“MyApp”已包含“MystatusBar”的定义

    我的应用程序 XAML
  • C# 中不区分大小写的替换不使用正则表达式?

    有没有一种方法可以在不使用 C 中的正则表达式的情况下对字符串进行不区分大小写的替换 像这样的东西 string x Hello x x Replace hello hello world 你可以尝试类似的东西 string str Hel
  • 如何为 asp.net MVC 5 配置 StructureMap

    我遇到以下错误 我的设置与 asp net mvc 4 类似 没有为此对象定义无参数构造函数 描述 安 当前网页执行期间发生未处理的异常 要求 请查看堆栈跟踪以获取有关的更多信息 错误及其在代码中的起源 异常详细信息 System Miss
  • 关于c#中|=的问题

    C 中 是什么意思 Example int a 0 int b a 5 我找不到任何这方面的提示 OR 赋值运算符 完整的解释在这里 http msdn microsoft com en us library h5f1zzaw v vs 7
  • 从匿名类型获取值

    我有一个方法如下 public void MyMethod object obj implement 我这样称呼它 MyMethod new myparam waoww 那么我该如何实施MyMethod 获取 myparam 值 Edit
  • C# 中的空“if”语句是否会导致错误或警告?

    让我从一个现实生活中的例子开始 顾客 Alex 刚刚注意到 RemovalProcessor 第 138 行有一些奇怪的东西 if Session Handler ExecutePrefetchTasks null Session Exec
  • 如何在清除排序描述后删除wpf网格排序箭头

    我单击网格标题对列进行排序 然后单击 重置 按钮以通过其集合视图清除排序描述 但排序箭头图标仍然保留在标题中 如何去除它 我在尝试弄清楚如何完全清除网格中的排序时遇到了这个问题 感谢 krishnaaditya 回答如何清除标题中的排序箭头
  • 如何打开带有预填充附件的 Outlook 新邮件窗口

    当用户单击我的应用程序中的某些按钮或链接时 我需要打开一个带有预填充附件的新电子邮件窗口 老问题 但我也遇到了这个问题 所以这里有一个复制和粘贴解决方案 Microsoft Office Interop Outlook Applicatio
  • 计算斐波那契数

    我收到了这个很好的非递归函数 用于计算斐波那契序列 因此 我编写了一些 C 代码 并能够验证 1474 以内的所有数字是否正确 当尝试计算 1475 及以上时就会出现问题 我的 C 数学技能无法胜任找出不同方法的任务 那么 有人有更好的方法
  • XSD、泛型和 C# 类的困境

    我有以下简单的 XSD 文件
  • 将包含驱动器号的相对路径转换为 ​​.NET 文件函数的绝对路径

    如何转换驱动器相对路径 例如D test xml进入绝对路径 例如函数XDocument Load 会接受 D盘可能有D data作为其当前工作目录 例如 soD test xml意思是D data test xml 我已经尝试过这样的混合
  • Err_Response_Headers_Multiple_Content_Disposition

    我需要导出 2csv单击一个按钮即可打开文件 下面是我生成2的代码csv files using System Data using System Data SqlClient using System Text using System

随机推荐

  • 如何在Magento数据库中启用exception.log和system.log?

    在 Magento 中如何启用exception log and system log在数据库级别 我知道我可以通过管理后端来做到这一点 我不想做 需要改变什么值 我假设dev log active需要设置为1 in core config
  • Www-data 用户访问 /var/www/ 之外的文件/文件夹

    好的 有没有办法让 PHP 用户 www data 访问服务器的其他部分 例如 home username another folder 提前致谢 Will 编辑 我是否只是将 www data 添加到另一个组 或者类似的事情 或者还有其他
  • iOS 6 中已弃用方向

    看起来 avcapturevideopreviewlayer 的方向在 iOS 6 中已被弃用 有人知道新代码吗 这是我当前的 已折旧的 代码 self setPreviewLayer AVCaptureVideoPreviewLayer
  • 临时表 - 允许的最大行值数为 1000

    当尝试将 6000 行插入临时表时 我收到以下消息 INSERT 语句中行值表达式的数量超过 允许的最大行值数为 1000 来源不位于SQL Server CREATE TABLE TMP ISIN Isin nVARCHAR 250 IN
  • Microsoft Web API 帮助页面 - 如何为参数创建注释

    最近 我开始使用新的 Web API 帮助页面功能 该功能最近添加到了 Web API 项目模板中 我注意到一些 附加信息 栏始终为 无 经过一番查看标记后 我发现此信息应该来自属性 td class parameter annotatio
  • 无法在 Jersey 中实现简单的文件上传 - “用资源的 POST 注释,类未被识别为有效的资源方法。不可用”

    无法使用Jersey实现简单的文件上传 应用程序引导时引发缺少依赖项错误 The following errors and warnings have been detected with resource and or provider
  • 修改 Levenshtein Distance 算法以不计算所有距离

    我正在研究模糊搜索实现 作为实现的一部分 我们使用 Apache 的 StringUtils getLevenshteinDistance 目前 我们正在为模糊搜索设定一个特定的最大平均响应时间 经过各种增强和一些分析后 花费最多时间的地方
  • Mapquest 直接图块访问已停止

    截至今天 2016 年 7 月 11 日 MapQuest 已停止直接访问其图块 他们似乎只支持Leaflet iOS和Android SDK 知道如何让 Openlayers 再次与 MapQuest 配合使用吗 还是我们应该考虑其他替代
  • 打字稿错误:@viewChild 未定义

    尝试使用 Ionic Tabs 文档中 tabs ts 中的 select 方法 但似乎当我尝试运行它时 它说 select 未定义 并且当我尝试 console log tabs 时 我发现我的 viewChild 实际上是空 未定义 尝
  • 如何使用 ActionFilterAttribute 记录运行时间?

    我创建了一个操作过滤器 用于测量 Web API v2 中每个操作的运行时间 public class RunningTimeAttribute ActionFilterAttribute private readonly ILogFact
  • 如何在 WPF 中的特定 x,y 屏幕位置绘制矩形?

    在 C WPF 中 我创建了一个矩形 Rectangle myRgbRectangle new Rectangle myRgbRectangle Width 1 myRgbRectangle Height 1 SolidColorBrush
  • 使用按钮水平滚动 div

    如何在DIV上设置左右按钮来水平滚动内容 我不需要显示滚动条 HMTL div a href img src left button jpg a img src thumb 1 jpg img src thumb 2 jpg img src
  • libstdc++.so.6:在 Linux 上找不到版本“GLIBCXX_3.4.26”

    我试图在 rstudio 中加载 Seurat 包并收到此错误 Error package or namespace load failed for Seurat in dyn load file DLLpath DLLpath unabl
  • 从 SQLReader 填充 DataGridView

    我对正在编写的一些代码有点困惑 概要是 我正在从 SQL 数据库读取一些数据 并希望将其显示在表单上的 DataGridView 中 我已经确认有数据从数据库返回 但不确定为什么没有出现 我已经遵循了互联网上的一些教程 但到目前为止还没有奏
  • 如果属性是 Integer,Spring @Value 总是给出错误

    我正在使用 sprin 版本 4 3 8 RELEASE 我也在用 Value从属性文件注入值 如果属性是字符串 没有问题 但如果属性是Integer这是一个问题 我知道有很多关于此的问题 我尝试了所有答案 但问题仍然存在 该物业是 CON
  • Jupyter 笔记本 python 在 Windows 10 上崩溃

    我花了一周的时间寻找并尝试不同的解决方案 但没有成功 我看到其他几个人一年多前也遇到过同样的问题 问题 Windows 10 专业版 15063 674 我正在使用最新的 Anaconda 5 版本和 Python 3 6 2 并且所有包都
  • 与匈牙利表示法相反?

    大多数程序员都知道一种称为 匈牙利表示法 的东西 每个变量都有一个很好的前缀来表示其数据类型 即 bIsExciting false Boolean strName Gonzo String iNumber 10 Integer 虽然这种表
  • 使用python从邮件中下载附件

    我有多封包含附件的电子邮件 我想下载未读电子邮件的附件并具有特定的主题行 例如 我收到一封主题为 EXAMPLE 并包含附件的电子邮件 那么会怎样 下面的代码 我尝试过 但它不起作用 这是一个Python代码 Subject line ca
  • 如何保护我的 .NET 应用程序免受 DLL 劫持?

    我们有一个带有注册扩展的 NET 3 5 应用程序 我们如何保护它免受 DLL 劫持攻击 由于遗留问题和设计问题 目前无法选择强命名 签名 如果您不知道什么是 DLL 劫持 请提供额外信息 什么是 DLL 劫持 SO DLL劫持漏洞 我遇到
  • 可变和不可变有什么区别?

    任何人都可以帮助我找到可变和不可变之间的基本区别吗 不可变的意味着一旦初始化 对象的状态就不能改变 可变意味着它可以 例如 NET 中的字符串是不可变的 每当您对字符串进行操作 修剪 大写等 时 都会创建一个新字符串 实际上 如果您想创建一