C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 62 を表示中)
■36128 / )  インデクサについて
□投稿者/ プリ太 (15回)-(2009/05/21(Thu) 15:26:25)

分類:[C#] 

プリ太です。

環境WinXP+VS2005です。

数値をまとめて管理するのにインデクサを使おうとしています。
インデクサの宣言は
public class cItemPos_Timing
{
int[] array;
public cItemPos_Timing(int i)
{
//配列の作成
this.array = new int[i];
}
//インデクサ
public int this[int i]
{
get
{
return this.array[i];
}
set
{
this.array[i] = value;
}
}
}
としています。
このクラスの型の変数timingを他のクラスpStの中で宣言し、サイズを4で宣言しています。

その後、変数timingに値を設定しようとして、
pSt.timing[0] = 45;
とすると、「エラー 431 型 'int' を型 'cItemPos_Timing' に暗黙的に変換できません。」
とエラーメッセージが表示されます。
配列はint型で宣言しているのでそのまま値を設定できると思ったのですが、違うのでしょうか?

また、同じように2次元配列のインデクサも作成してみたのですが、同じように値を設定しようとするとエラーが出ます。
インデクサに値を設定する時はそのままではダメなのでしょうか?

宜しくお願いします。

返信 編集キー/


管理者用

- Child Tree -