91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C# 中 PadLeft和PadRight 的用法和作用講解

發布時間:2021-03-10 16:33:13 來源:億速云 閱讀:959 作者:TREX 欄目:編程語言

這篇文章主要講解了“C# 中 PadLeft和PadRight 的用法和作用講解”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C# 中 PadLeft和PadRight 的用法和作用講解”吧!

C# 中 PadLeft ,PadRight的用法

簡單來說就是給字符串實現補位。

如:String.PadLeft(5,'0'); 表示檢查字符串長度是否少于5位,若少于5位,則自動在其左側以'0'補足。

同理PadRight是在右側實現補位。

補位

string str = "10";

str.PadLeft(5,'0')

輸出:00010

str.PadRight(5, '0')

輸出:10000

因為在NET中,string的Length并不區分當前字符串包含的字符為單字節還是雙字節字符,這樣導致我們在通過字符串的PadLeft和PadRight方法處理一些需要排版顯示的字符串時,會使得相關顯示參差不齊,所以這里就有了這么一個擴展,讓雙字節顯示占用的兩個單字節寬度“吐”出來,下面是具體代碼

  using System.Text.RegularExpressions;
  public static class StringExtensions
  {
    /// <summary>
    /// 按單字節字符串向左填充長度
    /// </summary>
    /// <param name="input"></param>
    /// <param name="length"></param>
    /// <param name="paddingChar"></param>
    /// <returns></returns>
    public static string PadLeftWhileDouble(this string input, int length, char paddingChar = '\0')
    {
      var singleLength = GetSingleLength(input);
      return input.PadLeft(length - singleLength + input.Length, paddingChar); 
    }
    private static int GetSingleLength(string input)
    {
      if (string.IsNullOrEmpty(input))
      {
        throw new ArgumentNullException();
      }
      return Regex.Replace(input, @"[^\x00-\xff]", "aa").Length;//計算得到該字符串對應單字節字符串的長度
    }
    /// <summary>
    /// 按單字節字符串向右填充長度
    /// </summary>
    /// <param name="input"></param>
    /// <param name="length"></param>
    /// <param name="paddingChar"></param>
    /// <returns></returns>
    public static string PadRightWhileDouble(this string input, int length, char paddingChar = '\0')
    {
      var singleLength = GetSingleLength(input);
      return input.PadRight(length - singleLength + input.Length, paddingChar);
    }
  }

測試代碼如下

  Console.WriteLine("123測試測試".PadRightWhileDouble(25) + "1");
      Console.WriteLine("123測試測試".PadRightWhileDouble(25, 'A') + "1");
      Console.WriteLine("1231212".PadRightWhileDouble(25) + "1");
      Console.WriteLine("1231212".PadRightWhileDouble(25, 'A') + "1");
      Console.WriteLine("123測試測試".PadLeftWhileDouble(25) + "1");
      Console.WriteLine("123測試測試".PadLeftWhileDouble(25, 'A') + "1");
      Console.WriteLine("1231212".PadLeftWhileDouble(25) + "1");
      Console.WriteLine("1231212".PadLeftWhileDouble(25, 'A') + "1");

測試效果圖

C# 中 PadLeft和PadRight 的用法和作用講解

下面是正常的用法

C# 中 PadLeft和PadRight 的用法

在 C# 中可以對字符串使用 PadLeft 和 PadRight 進行輕松地補位。
PadLeft(int totalWidth, char paddingChar) //在字符串左邊用 paddingChar 補足 totalWidth 長度
PadRight(int totalWidth, char paddingChar) //在字符串右邊用 paddingChar 補足 totalWidth 長度

示例:

1.假如想輸出AAAAA,可以用string.Empty.PadLeft(5,'A');
2.假如想輸出:

*
**
***
****

可以用PadLeft實現:

for(int i=1;i<=4;i++)
{
 Console.WriteLine(string.Empty.PadLeft(i,'*'));
}

感謝各位的閱讀,以上就是“C# 中 PadLeft和PadRight 的用法和作用講解”的內容了,經過本文的學習后,相信大家對C# 中 PadLeft和PadRight 的用法和作用講解這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

嘉义市| 临安市| 高碑店市| 拉萨市| 板桥市| 望谟县| 巴青县| 金乡县| 奉节县| 衡山县| 扎兰屯市| 霍林郭勒市| 宝山区| 镇平县| 东源县| 万州区| 鄂托克前旗| 永年县| 梁山县| 赫章县| 上杭县| 陵水| 敦化市| 绥江县| 正定县| 东山县| 平顶山市| 甘洛县| 黔江区| 衡东县| 郸城县| 梁河县| 盐亭县| 海盐县| 海林市| 介休市| 天水市| 察隅县| 绍兴市| 台中市| 项城市|