.NET COBOL には、.NET コード文字列型に相当する事前定義の文字列型があります。この型名は、データ項目を宣言する場合、およびクラス名が予測されるどの場所でも使用します。次に例を示します。
01 obj-string string.
文字列オブジェクトは、通常、New メソッドを使用して構築されません。値を単純に文字列参照に割り当てることができ、コンパイラは構築を自動で行います。文字列の値は、リテラル値、または英数字、各国文字のデータ項目やグループ データ項目のいずれかにこの方法で設定できます。次に例を示します。
set obj-string to " Some text..." display obj-string
サブストリングは、(offset:stringLength) の構文で .NET COBOL に構築されます。たとえば、次の行は、文字列 a の 6 番目の文字で始まる 2 文字を表示します。
display a(6:2)
これはかなり簡単な例で、a は pic x ではない文字列になります。C# または Java でこれを行うには、サブストリング メソッドを使用する必要がありますが、.NET COBOL では、構文内になります。
連結は & (アンパサンド) を使用して簡単に実行できます。
文字列の連結および文字列の部分参照を同じ行で行うことができます。それだけではなく、COBOL の引用符付き定数と文字列オブジェクトがシームレスに連結されます。次に例を示します。
set a to a(1:5) & "-" & a(7:) display a
文字列と次の内容を & (アンパサンド) で連結できます。
文字列変数 | a & b |
サブストリング | a & b(1:3) |
引用符付き文字列定数 | a & "-" |
非文字列型 | 23 & " is a number" |
呼び出しからの戻り値 | a & type COBOLString::Split(b,13,7) |
次の例では、サブストリングと連結を組み合わせます。ここでは、COBOL 引用符付き定数は、文字列に自動でキャストされ、呼び出しから戻される値は、2 つの COBOL 引用符付き定数と連結されます。
set a to "Micro Focus .NET COBOL is " & *>Micro Focus .NET COBOL is type COBOLString::Split("The cake is amazing", 13, 7) & *>amazing "ly good for working with strings!" *>ly good for working with strings! display a
COBOLString::Split() メソッドに次の内容が含まれる場合:
set stringOut to stringIn(offset:stringLength)
次の例では、文字列変数 (COBOL 引用符付き定数、自動で文字列にキャストされる) と、呼び出しから戻される数字を連結します。この数字は、その後、別の COBOL 引用符付き定数と連結されます。
display a & " (this string is " & *> (this string is type COBOLString::CharCount(a) & *>69 " bytes long)" *> bytes long)