String.Remove不起作用

 naniwang99_537_742 发布于 2023-02-12 15:05

我有这样的代码,无法理解错误在哪里,尽管事实上,这个代码很容易.这q是一条完整的路径,我需要获得所需的路径Gen_ParamFile

string q = @"C:\ProgramData\RadiolocationQ\script-Data=12^6-12^33.xml";
string _directoryName1 = @"C:\ProgramData\RadiolocationQ";
int Length = _directoryName1.Length + "ascript".Length; 

 string Gen_ParamFile = q;
 Gen_ParamFile.Remove(0, Length); // this line don't  do anything

var Gen_Parfile = Path.Combine(_directoryName1, "GeneralParam-Data" + Gen_ParamFile);

我使用的函数就像这里所说http://msdn.microsoft.com/ru-ru/library/9ad138yc(v=vs.110).aspx

2 个回答
  • 因为String.Remove方法返回一个新字符串.它不会改变原来的.

    返回一个新字符串,其中删除了从指定位置开始的当前实例中指定数量的字符.

    请记住,字符串是不可变类型.你无法改变它们.即使你认为你改变它们,你实际上创建了新的字符串对象.

    你可以自己分配;

    Gen_ParamFile = Gen_ParamFile.Remove(0, Length);
    

    作为替代方案,您可以使用String.SubString类似的方法;

    Gen_ParamFile = Gen_ParamFile.SubString(Length);
    

    2023-02-12 15:08 回答
  • 确实如此,它不会影响实际的字符串,因此会创建一个新的字符串.使用:

    Gen_ParamFile = Gen_ParamFile.Remove(0, Length);
    

    2023-02-12 15:11 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有