アプリ版:「スタンプのみでお礼する」機能のリリースについて

C#で構造体配列の操作練習?をしているのですが
using System;
using System.Collections.Generic;
using System.Text;

namespace test1
{
public struct Data
{
public string name; // 名前
public uint value; // 値
}

class read
{
Data[] human = new Data[300];

public static string idSearch()
{
for (int i = 0; i < 300; i++)
{
if (test1.read.human[i].value == 25)
return test1.read.human[i].name;
}
}
}
}
だと
エラー CS0120: 静的でないフィールド、メソッド、またはプロパティ 'test1.read.human' で、オブジェクト参照が必要です。
と言うエラーが出るのですが、どうしてでしょうか?

A 回答 (2件)

>read型のオブジェクトとはどういう意味ですか?



自分で定義しているreadクラスのインスタンスのこと

>ついでにエラーにある「オブジェクト参照」ってのもいまいち分かりません

read型のオブジェクトを生成していないから、参照するオブジェクトが必要ですと言われてる


なんにも勉強しないでコード入力の練習をしても、時間と労力の無駄だし、あまりにも初歩的な質問をしても、回答してくれた人から呆れられて、相手にしてもらえなくなるだけだと思う。本やへ行って自分にあいそうなC#の入門書を買って、クラスとオブジェクトの関係を理解するとこから始めたらいいんじゃなかろうか?
    • good
    • 0
この回答へのお礼

色々すいませんです。もうちょっと基礎からやり直すことにします。
本当にありがとうございました

お礼日時:2009/06/20 22:48

human が static じゃないので, static メソッド idSearch からアクセスするためには read 型のオブジェクトが必要.


ひょっとして
static Data[] human = new Data[300];
としたかった?

この回答への補足

すいません、初心者なのであまりよくわからないのですが
read型のオブジェクトとはどういう意味ですか?
ついでにエラーにある「オブジェクト参照」ってのもいまいち分かりません
できたら、そこのあたりを詳しく教えていただけませんか?

あと、static Data[] human = new Data[300];
を使うと
'System.NullReferenceException' の初回例外が ids.exe で発生しました
'System.NullReferenceException' のハンドルされていない例外が ids.exe で発生しました。・・・
などのエラーがありました。

補足日時:2009/06/19 20:25
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!