簡體   English   中英

刪除字符串C#的第一個和最后一個字符

[英]Removing the first and last character of a string C#

對於 codewars 的練習,我必須刪除字符串的第一個和最后一個字符。 經過一番折騰,我找到了一個有效的解決方案:

    public static string Remove_char(string s)
    {
      return s.Substring(1, s.Length - 2);   
    }

我的問題是當我只想刪除最后一個字符時,為什么我必須在返回行的末尾使用 -2 而不是 -1 ?

因為第二個參數不是您想要子字符串的偏移量,它是所需子字符串的長度

Substring 計算從第一個索引開始的長度。

因此,如果您刪除第一個字符,該字符串已經具有s.Length-1 如果您現在還想刪除最后一個字符,則需要使用s.Length-2

數組索引從 0 開始,如果你跳到最后一個索引,那么你需要 s.Length-1,即數組的長度 - 1。所以你的問題是你需要刪除最后一個字符,這就是為什么你添加了 s.Length-2

因為您想返回從初始字符串的第二個到倒數第二個字符的子字符串,即不是第一個(第 0 個字符)也不是最后一個(長度為 1 個字符)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM