コメント |
http://msdn.microsoft.com/ja-jp/library/dd314342.aspx(Microsoft ドキュメント)
[[配列]]
@DIV
Module MyModule
' ********************************************************
' * 実行
' ********************************************************
Sub Main()
' ************************************************
' 添え字上限のみ決定する単純な宣言
' この場合、0〜1 で、2要素
' ************************************************
Dim ch(1) As Char
ch(0) = "A" : ch(1) = "B"
Dim str As New String(ch)
Console.WriteLine("{0}:添え字上限->{1}", str, ch.GetUpperBound(0))
' ************************************************
' 要素数は、初期化データの数で決定する
' 添え字を書くとエラーとなる
' ( Char なので、"ABC" の先頭文字が使用されている )
' ************************************************
Dim ch1() As Char = {"ABC","XYZ"}
Dim str1 As New String(ch1)
Console.WriteLine("{0}:添え字上限->{1}", str1, ch1.GetUpperBound(0))
' ************************************************
' この New Char(3) は、コンストラクタでは無く
' 新規配列の作成構文。4要素を空で作成
' ************************************************
Dim ch2() As Char = New Char(3){}
ch2(0) = "A" : ch2(1) = "B" : ch2(2) = "C"
Dim str2 As New String(ch2)
Console.WriteLine("{0}:添え字上限->{1}", str2, ch2.GetUpperBound(0))
' ************************************************
' 初期化データにより、2要素が作成される
' ************************************************
Dim ch3() As Char = New Char(){"A","B"}
Dim str3 As New String(ch3)
Console.WriteLine("{0}:添え字上限->{1}", str3, ch3.GetUpperBound(0))
End Sub
End Module
@END
@LINE
[[↓C# による変数宣言]]
@DIV
using System;
// ********************************************************
// * 実行
// ********************************************************
public class App
{
public static void Main() {
// ****************************************
// char[] が一つのオブジェクト型
// char[2] で二つの要素を作成
// ****************************************
char[] ch = new char[2];
ch[0] = 'A';
ch[1] = 'B';
String str = new String(ch);
Console.WriteLine("{0}:添え字上限->{1}", str, ch.GetUpperBound(0));
// ****************************************
// 要素数は、初期化データの数で決定する
// 添え字を書いてもエラーとならないが、
// 要素数と添え字と一致している必要がある
// ****************************************
char[] ch1 = new char[] {'X','Y','Z'};
String str1 = new String(ch1);
Console.WriteLine("{0}:添え字上限->{1}", str1, ch1.GetUpperBound(0));
// ****************************************
// これは、宣言時初期化の短縮型
// ****************************************
char[] ch3 = {'X','Y'};
String str3 = new String(ch3);
Console.WriteLine("{0}:添え字上限->{1}", str3, ch3.GetUpperBound(0));
// ****************************************
// 初期化されていない配列オブジェクトは、
// new で構造をセットする必要がある
// ****************************************
char[] ch4;
ch4 = new char[5];
String str4 = new String(ch4);
Console.WriteLine("{0}:添え字上限->{1}", str4, ch4.GetUpperBound(0));
// ****************************************
// 宣言済みオブシェクトに新しい値をセット
// ****************************************
ch4 = new char[] {'A','B'};
str4 = new String(ch4);
Console.WriteLine("{0}:添え字上限->{1}", str4, ch4.GetUpperBound(0));
}
}
@END
http://msdn.microsoft.com/ja-jp/library/0a7fscd0.aspx(Microsoftドキュメント : 1次元配列の説明) |