在 C# 中,字符串是引用类型,但为什么在另一种方法中操作它后它没有改变[重复]

2023-11-30

可能的重复:
C# 字符串引用类型?

比如说,我有一个名为

string sample = "Initial value";

传递给方法 test() 之后

public static void Test(string testString)
{
    testString = "Modified Value";
}

如果我在通过测试(样本)后打印“样本”,则它应该打印“修改值”。

但它打印的是“初始值”。如果字符串是引用类型,为什么会出现这种情况?

但相同的(预期的逻辑),适用于对象。有人可以帮我清除一下吗?


这与string是一个引用类型。这是因为参数是按值传递的,而不是按引用传递的。

如果您像这样修改您的方法,以便通过引用传递参数:

public static void Test(ref string testString)
{
    testString = "Modified Value";
}

Then sample将被修改。

See 本文有关参数传递的更多详细信息。

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

在 C# 中,字符串是引用类型,但为什么在另一种方法中操作它后它没有改变[重复] 的相关文章

  • 如何在 .NET Framework 2.0 中模拟“Func<(Of <(TResult>)>) 委托”?

    我尝试使用这个类代码项目文章 http www codeproject com KB threads AsyncVar aspx在 VB NET 和 NET Framework 2 0 中 除了这一行之外 所有内容似乎都可以编译Privat
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • Python 3:将字符串转换为变量[重复]

    这个问题在这里已经有答案了 我正在从 txt 文件读取文本 并且需要使用我读取的数据之一作为类实例的变量 class Sports def init self players 0 location name self players pla
  • 复制 std::function 的成本有多高?

    While std function是可移动的 但在某些情况下不可能或不方便 复制它会受到重大处罚吗 它是否可能取决于捕获变量的大小 如果它是使用 lambda 表达式创建的 它依赖于实现吗 std function通常被实现为值语义 小缓
  • 在 C 中匹配二进制模式

    我目前正在开发一个 C 程序 需要解析一些定制的数据结构 幸运的是我知道它们是如何构造的 但是我不确定如何在 C 中实现我的解析器 每个结构的长度都是 32 位 并且每个结构都可以通过其二进制签名来识别 举个例子 有两个我感兴趣的特定结构
  • 如何创建包含 IPv4 地址的文本框? [复制]

    这个问题在这里已经有答案了 如何制作一个这样的文本框 我想所有的用户都见过这个并且知道它的功能 您可以使用带有 Mask 的 MaskedTestBox000 000 000 000 欲了解更多信息 请参阅文档 http msdn micr
  • 如何区分用户点击链接和页面自动重定向?

    拥有 C WebBrowser control http msdn microsoft com en us library system windows forms webbrowser aspx在我的 WinForms 应用程序中 并意识
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 由 IHttpClientFactory 注入时模拟 HttpClient 处理程序

    我创建了一个自定义库 它会自动为依赖于特定服务的 Polly 策略设置HttpClient 这是使用以下方法完成的IServiceCollection扩展方法和类型化客户端方法 一个简化的例子 public static IHttpClie
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • 在 Visual Studio 2010 中从 Fortran 调用 C++ 函数

    我想从 Fortran 调用 C 函数 为此 我在 Visual Studio 2010 中创建了一个 FORTRAN 项目 之后 我将一个 Cpp 项目添加到该 FORTRAN 项目中 当我要构建程序时出现以下错误 Error 1 unr
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • Qt - ubuntu中的串口名称

    我在 Ubuntu 上查找串行端口名称时遇到问题 如您所知 为了在 Windows 上读取串口 我们可以使用以下代码 serial gt setPortName com3 但是当我在 Ubuntu 上编译这段代码时 我无法使用这段代码 se
  • 如何在 32 位或 64 位配置中以编程方式运行任何 CPU .NET 可执行文件?

    我有一个可在 32 位和 64 位处理器上运行的 C 应用程序 我试图枚举给定系统上所有进程的模块 当尝试从 64 位应用程序枚举 32 位进程模块时 这会出现问题 Windows 或 NET 禁止它 我认为如果我可以从应用程序内部重新启动
  • C#:帮助理解 UML 类图中的 <>

    我目前正在做一个项目 我们必须从 UML 图编写代码 我了解 UML 类图的剖析 但我无法理解什么 lt
  • 如何禁用 fread() 中的缓冲?

    我正在使用 fread 和 fwrite 读取和写入套接字 我相信这些函数用于缓冲输入和输出 有什么方法可以在仍然使用这些功能的同时禁用缓冲吗 Edit 我正在构建一个远程桌面应用程序 远程客户端似乎 落后于服务器 我不知道可能是什么原因
  • 使用 C# 读取 Soap 消息

  • 不同类型指针之间的减法[重复]

    这个问题在这里已经有答案了 我试图找到两个变量之间的内存距离 具体来说 我需要找到 char 数组和 int 之间的距离 char data 5 int a 0 printf p n p n data 5 a long int distan
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • 使用 .NET Process.Start 运行时挂起进程 - 出了什么问题?

    我在 svn exe 周围编写了一个快速而肮脏的包装器来检索一些内容并对其执行某些操作 但对于某些输入 它偶尔会重复挂起并且无法完成 例如 一个调用是 svn list svn list http myserver 84 svn Docum

随机推荐

  • 红袜混音和延迟

    我正在使用 SOX 混合音频 命令SOX m voice wav audio wav final wav是我正在使用的 我的目标是延迟 10 秒的 voice wav 如果我尝试使用延迟 10 0 那么我会得到双语音 怎样才能做对呢 htt
  • Android Studio 虚拟设备卡在 G 屏幕上

    被困在这个问题上太久了 在Android Studio上启动了一个新项目基本活动应用程序 制作了一个虚拟设备 但每当我启动它时 它都会转到一个 黑屏 然后我擦除了内存 现在它卡在带有 google G 徽标的屏幕上 下面有一个小加载栏 多斯
  • 制作更薄的 UITabBar

    我希望能够通过删除每个项目的标题并回收它们占用的垂直空间来缩小 UITabBar 的高度 就像 Tweetie 2 那样 这似乎无法在 xib 中或以编程方式设置 我是否必须子类化 UITabBar 并推出自己的 自己滚 我确信 Tweet
  • 短路逻辑求值运算符

    是否有短路逻辑运算符 特别是短路AND和短路OR 我可以用在WHEREMySQL 5 5 中的子句 如果没有 有什么替代方案 我的问题的抽象观点以及为什么我需要这个的解释可以在这个小提琴中找到 http sqlfiddle com 2 97
  • 如何在CSS中仅设置部分文本的样式[重复]

    这个问题在这里已经有答案了 我需要在下拉列表选项中添加上标 我尝试了很多方法但没有任何效果 因此 帮助我了解如何仅设置选项文本的一部分的样式 使其看起来像上标 如果您知道在下拉列表选项中添加上标的任何其他方法 请帮助我 谢谢 在 HTML
  • 为什么相同的输入返回两个不同的 MD5 哈希值?

    好吧 我有两个文件 它们是完全相同的 第一个文件是 http iadsonline com servconfig php 第二个文件是 http xzerox info servconfig php 但是 当我使用 md5 file 获取他
  • 创建时CYPHER存储相同标签的节点关系顺序

    我有多个源自一个节点的关系 这些关系中的每一个都具有相同的标签 这些关系指向一个子节点 不一定是唯一的 在获取通过此关系标签链接到父级的所有子节点后 我通过名为 trueindex 的关系属性对它们进行排序 然后 我有一个节点数组 我的客户
  • 预处理器中的 C# 宏定义

    C 是否能够像 C 编程语言中使用预处理器语句那样定义宏 我想简化某些重复语句的常规输入 如下所示 Console WriteLine foo 不 C 不支持像 C 那样的预处理器宏 另一方面 Visual Studio 有snippets
  • 片段中的 AdMob

    我正在我的应用程序中插入 AdMob 但我有一个问题 当我在 Eclipse 中插入一些相关代码时 我可以在fragment 03中看到一条关于 构造函数 AdRequest 不可见 的错误消息 以及 错误 解析 XML 时出错 未绑定前缀
  • 获取上周六的日期和下周五的日期

    我想根据今天的日期获取上周六的日期 所以如果我们是周二 那么想要的日期将是 3 天前 另外 如果今天是星期六 那么这将被算作上一个星期六 例如 today Tuesday 09 July 2019 previous saturday gt
  • 内联成员函数和普通成员函数有什么区别?

    内联成员函数 函数体内联 和其他普通成员函数 函数体在单独的 cpp文件中 有什么区别吗 例如 class A void member and Header file hpp class B void member Implementati
  • C++多索引映射实现

    我正在 C 11 中实现多索引映射 我希望针对特定功能对其进行优化 我目前正在尝试解决的问题是不要多次存储关键元素 但让我解释一下 问题源于对直方图进行排序以将它们叠加在不同的组合中 直方图有名称 可以分为标记 属性 以下是我希望我的属性图
  • Pyomo 和条件目标函数

    是否可以 如果可以的话如何 使用具有条件表达式的目标函数 更改文档中的示例 我想要一个如下表达式 def objective function model return model x 0 if model x 1 lt const els
  • 将 jQuery 选项卡与 Marionette 布局结合使用

    我正在尝试使用jquery 选项卡秘偶区域内 两个选项卡区域的 HTML 如下所示 div ul li a href tabs 1 Nunc tincidunt a li li a href tabs 2 Proin dolor a li
  • 如何在mysql工作台中更改用户

    我使用以下语法在 mysql 工作台中创建了用户名 jeffrey 密码 mypass CREATE USER jeffrey localhost IDENTIFIED BY mypass 现在我如何连接 登录这个用户 jeffrey 请按
  • Arm trustzone监控模式开关设计

    基本的世界切换流程是 将FIQ设置为监控模式 normal world gt FIQ triggered gt 进入监控模式 切换到安全世界 恢复安全世界上下文 gt 在安全世界系统模式下 gt FIQ不清楚 进入Secure world中
  • 如何在 SublimeREPL 上运行 Python 代码

    我真的很喜欢使用 sublime text 2 编写 Python 代码 但是每当我尝试运行具有输入的脚本时 sublime text 控制台都会报告错误 所以 我决定尝试一下SublimeREPL 但是我已经搜索了几个小时 但没有找到如何
  • 将行样本与类标签相匹配

    我对下面的代码有一个小问题 最后一行是具体的 我试图找到我的 样本 的类名 我的意思是我需要知道哪个法线和哪个蓝精灵属于我的 1000x6 样本的每一行 sampling normIdx strmatch normal Book2 norm
  • 获取没有底部导航栏高度的屏幕尺寸

    所以flutter中的基本脚手架有appbar body和bottom bar 在我的底部导航栏中 我有 3 个项目 第 1 页 编辑器页面 第 2 页 贴纸 第3页 文字定制页面 每个页面都有自己的脚手架 编辑器页面有一个名为 Layou
  • 在 C# 中,字符串是引用类型,但为什么在另一种方法中操作它后它没有改变[重复]

    这个问题在这里已经有答案了 可能的重复 C 字符串引用类型 比如说 我有一个名为 string sample Initial value 传递给方法 test 之后 public static void Test string testSt