C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のStringBuilder.EnsureCapacity()メソッド


C#のStringBuilder.EnsureCapacity()メソッドは、StringBuilderのこのインスタンスの容量が少なくとも指定された値であることを確認するために使用されます。

構文

構文は次のとおりです-

public int EnsureCapacity (int capacity);

上記のパラメータ容量は、確保するための最小容量です。

例を見てみましょう-

using System;
using System.Text;
public class Demo{
   public static void Main(){
      StringBuilder strBuilder = new StringBuilder("jhbjhb");
      Console.WriteLine("String = "+strBuilder);
      Console.WriteLine("StringBuilder capacity= "+strBuilder.Capacity);
      strBuilder.EnsureCapacity(20);
      Console.WriteLine("StringBuilder capacity= "+strBuilder.Capacity);
      char[] arr = new char[5] {'a', 'b', 'c', 'd', 'e'};
      strBuilder.CopyTo(1, arr, 1, 3);
      Console.WriteLine("\nCopied String in char array...");
      Console.WriteLine(arr);
   }
}

出力

これにより、次の出力が生成されます-

String = jhbjhb
StringBuilder capacity= 16
StringBuilder capacity= 20
Copied String in char array...
ahbje

別の例を見てみましょう-

using System;
using System.Text;
public class Demo{
   public static void Main(){
      StringBuilder strBuilder = new StringBuilder("Katie");
      Console.WriteLine("String = "+strBuilder);
      Console.WriteLine("\nStringBuilder capacity = "+strBuilder.Capacity);
      Console.WriteLine("StringBuilder length = "+strBuilder.Length);
      strBuilder.EnsureCapacity(35);
      Console.WriteLine("\nStringBuilder capacity= "+strBuilder.Capacity);
      Console.WriteLine("StringBuilder length = "+strBuilder.Length);
      strBuilder.EnsureCapacity(0);
      strBuilder.Length = 0;
      Console.WriteLine("\nStringBuilder capacity= "+strBuilder.Capacity);
      Console.WriteLine("StringBuilder length = "+strBuilder.Length);
   }
}

出力

これにより、次の出力が生成されます-

String = Katie
StringBuilder capacity = 16
StringBuilder length = 5
StringBuilder capacity= 35
StringBuilder length = 5
StringBuilder capacity= 35
StringBuilder length = 0

  1. C#でStringBuilderに追加

    Append()メソッドは、StringBuilderにコンテンツを追加します。 文字列を設定する- StringBuilder str = new StringBuilder(); 次に、必要な数の要素をループし、Append()を使用してStringBuilderに追加します- for (int j = 0; j < 5; j++) {    str.Append(j).Append(" "); } 以下は完全なコードです- 例 using System; using System.Text; class Program {  

  2. Array#zipメソッド

    違いを見つけることができるように、2つの配列を要素ごとに比較したいとします。 または、すべてのインデックスで最大の数値を見つけたい場合や、キーのリストと値のリストをマージしてハッシュを作成したい場合もあります… …これを行うための「難しい方法」は、次のようになります。 例 : a = [1,2,3,4,5] b = [1,2,3,6,8] c = a.map.with_index { |_, idx| [a[idx], b[idx]] } # [[1, 1], [2, 2], [3, 3], [4, 6], [5, 8]] それで仕事は終わりますが、きれいではありませんよね?