C# string类Remove函数未生效

维护如下代码的时候发现经过Remove动作后PassItems和ProblemError变量仍然以逗号(",")结尾,及Remove函数未生效。

 

if ((Application.Current as App).PassItems.EndsWith(","))
                    (Application.Current as App).PassItems.Remove((Application.Current as App).PassItems.Length - 1);

if ((Application.Current as App).ProblemError.EndsWith(","))
                    (Application.Current as App).ProblemError.Remove((Application.Current as App).ProblemError.Length - 1);

 

查询资料发现C#中的string类的Remove函数只是生成了一个新的字符串,如果要在原始字符串中移除一部分数据,则需要将新生成的字符串重新赋值给原始变量,如:

 

if ((Application.Current as App).PassItems.EndsWith(","))
                    (Application.Current as App).PassItems = (Application.Current as App).PassItems.Remove((Application.Current as App).PassItems.Length - 1);

if ((Application.Current as App).ProblemError.EndsWith(","))
                    (Application.Current as App).ProblemError = (Application.Current as App).ProblemError.Remove((Application.Current as App).ProblemError.Length - 1);

 

按照如上改动后变量PassItems和ProblemError最后结尾处的(",")将会被移除。

 

 

 

 

 

 


版权声明:本文为sunyang500原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。