C#でStringBuilderの長さ(Length)を取得する方法
C#で StringBuilder の長さを確認するには、Length プロパティを使用します。このプロパティは、現在 StringBuilder に格納されている文字数を返します。
なお、StringBuilder には似た性質を持つプロパティが他にもあります。それぞれの違いを理解しておくと便利です。
- Length:現在実際に格納されている文字数
- Capacity:メモリ上に確保されている容量(文字数)
- MaxCapacity:このインスタンスが保持できる最大文字数
サンプルコード1
以下のコードでは、複数の StringBuilder インスタンスを作成し、それぞれの Capacity・MaxCapacity・Length を出力しています。
using System;
using System.Text;
public class Demo {
public static void Main(String[] args) {
StringBuilder strBuilder1 = new StringBuilder("Amy");
StringBuilder strBuilder2 = new StringBuilder("Katie");
StringBuilder strBuilder3 = new StringBuilder();
StringBuilder strBuilder4 = new StringBuilder(5);
strBuilder2 = strBuilder3;
Console.WriteLine("Is StringBuilder3 equal to StringBuilder2? = "+strBuilder3.Equals(strBuilder2));
Console.WriteLine("StringBuider1 capacity = "+strBuilder1.Capacity);
Console.WriteLine("StringBuider1 maximum capacity = "+strBuilder1.MaxCapacity);
Console.WriteLine("StringBuider1 length = "+strBuilder1.Length);
Console.WriteLine("StringBuider2 capacity = "+strBuilder2.Capacity);
Console.WriteLine("StringBuider2 maximum capacity = "+strBuilder2.MaxCapacity);
Console.WriteLine("StringBuider2 length = "+strBuilder2.Length);
Console.WriteLine("StringBuider3 capacity = "+strBuilder3.Capacity);
Console.WriteLine("StringBuider3 maximum capacity = "+strBuilder3.MaxCapacity);
Console.WriteLine("StringBuider3 length = "+strBuilder3.Length);
Console.WriteLine("StringBuider4 capacity = "+strBuilder4.Capacity);
Console.WriteLine("StringBuider4 maximum capacity = "+strBuilder4.MaxCapacity);
Console.WriteLine("StringBuider4 length = "+strBuilder4.Length);
}
}実行結果
上記のコードを実行すると、次のような出力が得られます。
Is StringBuilder3 equal to StringBuilder2? = True StringBuider1 capacity = 16 StringBuider1 maximum capacity = 2147483647 StringBuider1 length = 3 StringBuider2 capacity = 16 StringBuider2 maximum capacity = 2147483647 StringBuider2 length = 0 StringBuider3 capacity = 16 StringBuider3 maximum capacity = 2147483647 StringBuider3 length = 0 StringBuider4 capacity = 5 StringBuider4 maximum capacity = 2147483647 StringBuider4 length = 0
結果のポイント
初期状態の StringBuilder の既定容量は16文字です。そのため、初期値として渡した文字列が16文字以内であれば、Capacity は16になります。一方、コンストラクタで容量を指定した strBuilder4 の場合は、指定どおり Capacity が5になっています。
サンプルコード2
続いて、別の例を見てみましょう。
using System;
using System.Text;
public class Demo {
public static void Main(String[] args) {
StringBuilder strBuilder1 = new StringBuilder("hbjhbkjhbm");
StringBuilder strBuilder2 = new StringBuilder("TomHanks");
StringBuilder strBuilder3 = new StringBuilder();
Console.WriteLine("Capacity of StringBuilder1 = "+strBuilder1.Capacity);
Console.WriteLine("Length of StringBuilder1 = "+strBuilder1.Length);
Console.WriteLine("\nCapacity of StringBuilder2 = "+strBuilder2.Capacity);
Console.WriteLine("Length of StringBuilder2 = "+strBuilder2.Length);
Console.WriteLine("\nCapacity of StringBuilder3 = "+strBuilder3.Capacity);
Console.WriteLine("Length of StringBuilder3 = "+strBuilder3.Length);
}
}実行結果
このコードを実行すると、以下の出力が得られます。
Capacity of StringBuilder1 = 16 Length of StringBuilder1 = 10 Capacity of StringBuilder2 = 16 Length of StringBuilder2 = 8 Capacity of StringBuilder3 = 16 Length of StringBuilder3 = 0
まとめ
このように、Length プロパティを使えば StringBuilder の現在の文字数を簡単に取得できます。空の StringBuilder であれば Length は0になり、Capacity とは異なる値である点に注意してください。
-
パソコンの最大RAM容量を確認する方法【Windows・Mac・Linux対応】
新しいデスクトップPCやノートPCを購入する際、まずは低価格モデルを選んでおき、後からRAMを最大容量まで増設する方がコストを抑えられるケースが多くあります。では、あなたのパソコンは一体どれくらいのRAMを搭載できるのでしょうか?すでに最大容量に達しているのか、それともまだ増設の余地があるのか。このガイドでは、現在搭載されているRAMの容量と、パソコンがサポートする最大RAM容量を簡単に確認する方法をわかりやすく解説します。 パソコンに搭載されているRAM容量を確認する方法 パソコンのRAM容量を調べるのはとても簡単です。Windows 10の場合、キーボードショートカット Win +
-
Windows 11でIPアドレスを確認する方法|コマンドプロンプトと設定アプリの手順
インターネット接続に不具合が生じたとき、さまざまな対処法を試す中で、自分のPCのIPアドレスを把握しておくと意外と役立ちます。 IPアドレス(Internet Protocol Address)とは、インターネット上でデバイスを識別するための一意な数値アドレスのことです。機械にとっての「郵便番号」と考えると分かりやすいでしょう。現実世界で郵便番号が住所を特定するように、IPアドレスはコンピューターの場所を示し、デバイス同士がお互いを見つけて通信できるようにしています。 Windows 11でIPアドレスを確認する方法は複数あります。まずは最もシンプルな方法である「コマンドプロンプト」を使う