Csharp/C#教程:ToUpper()方法不起作用分享


ToUpper()方法不起作用

我从服务器传递一条消息,该服务器存储在一个名为strObject的字符串变量中。 我希望将strObject中的字符串转换为大写。 所以,我使用ToUpper()方法。 但是,当我添加一个断点并通过该行时,我的字符串不会转换为大写。 strObject变量将始终包含文本Task_status。 我希望将其转换为TASK_STATUS。 我错过了什么吗? 在下面发布我的相关代码: –

public void VerifyValue(String strObject, String strValue, int row) { strObject.ToUpper().Trim(); strValue.ToUpper().Trim(); switch (strObject) { case "TASK_STATUS": if (m_taskStatus.taskStatus.ToString() == strValue) { ExcelRecorder(null, row); } else { ExcelRecorder("The value [" + m_taskStatus.taskStatus.ToString() + "] does not match with the given value.", row); } } } 

strObject.ToUpper()以大写forms返回一个string

使用以下…

 strObject = strObject.ToUpper().Trim(); 

System.String是不可变的,因此您必须重新分配,如:

 strObject = strObject.ToUpper().Trim(); 

所有操纵字符串的方法,保持原始字符串不变,并返回包含所需内容的字符串。 您必须获取该返回值并将其分配给某些内容。

字符串是不可变的,因此调用字符串上的函数实际上不会更改字符串。 相反,他们返回字符串的修改副本。

这意味着您必须存储函数的返回值,例如原始变量。

这不起作用,因为字符串是不可变的,您必须将值strObject

 strObject = strObject.ToUpper().Trim(); 

此外,如代码中所示, switch没有做太多工作,您可以将其删除,除非这不是整个代码。

 public void VerifyValue(String strObject, String strValue, int row) { //strObject.ToUpper().Trim(); //strValue.ToUpper().Trim(); if(strObject.ToUpper() == "TASK_STATUS") { if (m_taskStatus.taskStatus.ToString() == strValue.ToUpper()) { ExcelRecorder(null, row); } else { ExcelRecorder("The value [" + m_taskStatus.taskStatus.ToString() + "] does not match with the given value.", row); } } } 

string.ToUpper()返回一个值,使用它。

字符串是不可变的,你需要记住当你使用它们时。

您的方法将值插入到您调用各种工作方法的strObject和strValue变量,但这些工作方法不会更改已创建的不可变字符串变量。

虽然原始变量是不可变的,但您仍然可以设置新的变量(即使具有相同的名称)等于原始变量加上worker方法的结果。

所以你真正需要做的就是改变

strObject.ToUpper().Trim();

strValue.ToUpper().Trim();

strObject = strObject.ToUpper().Trim()

strValue = strvalue.ToUpper().Trim()

这个答案几乎与我的答案重复,但我认为两者都是正确的。

上述就是C#学习教程:ToUpper()方法不起作用分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/986803.html

(0)
上一篇 2021年12月22日
下一篇 2021年12月22日

精彩推荐