ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文

  メンテナンス 前画面に戻る

対象スレッド 件名: VB.NET の Dim と C# の変数宣言
名前: lightbox
処理選択
パスワード

件名 VB.NET の Dim と C# の変数宣言
名前 lightbox
コメント
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次元配列の説明)