[英]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.