【问题标题】:Get from 8th string character to last string character从第 8 个字符串字符到最后一个字符串字符
【发布时间】:2018-02-05 16:43:16
【问题描述】:

所以我的学校项目是:

String s1 = Hrvatska 更多

string s2 = Italija je prvak svijeta

string s3 = Hrvatska je prvak svijeta

        string s1 = "Hrvatska ima more";
        string s2 = "Italija je prvak svijeta";
        string s3 = s1.Substring(0, 8);
              s3 += s2.Substring(7, s2.Length);    (ERROR LINE)

        Console.WriteLine(s3);
        Console.ReadKey();

错误: System.ArgumentOutOfRangeException: '索引和长度必须引用字符串中的位置。 参数名称:长度'

...我不知道如何解决这个问题:/

【问题讨论】:

  • 最好的主意:阅读文档。将光标放在.Substring 上并按 F1。该文档解释了每个参数的含义以及各种重载
  • @cptwonton 除了Substring 的第二个参数是长度,而不是结束索引。
  • 我是个傻瓜,并认为这是一个 Java 子字符串问题。你是对的@juharr

标签: c# string


【解决方案1】:

你可以使用

s2.Substring(7);

它将采用从7 索引开始的子字符串,包括第 7 个字符。

从此实例中检索子字符串。子字符串开始于 指定字符位置并继续到字符串的末尾。

https://msdn.microsoft.com/en-us/library/hxthx5h6(v=vs.110).aspx

【讨论】:

  • @CamiloTerevinto 第 7 个字符是 ` ` 所以 OP 需要它来正确显示单词之间的空格
【解决方案2】:

Substring() - 第二个参数是要剪切而不是索引的字符数。 这将起作用:

s3 += s2.Substring(7, s2.Length - 7); 

【讨论】:

  • 不需要第二个参数。默认是读到最后
猜你喜欢
  • 1970-01-01
  • 2019-01-07
  • 2018-12-03
  • 2022-11-01
  • 2011-04-11
  • 1970-01-01
  • 2014-05-13
  • 1970-01-01
相关资源
最近更新 更多