1

クラスのオブジェクト配列を文字列配列に変換しようとしています。

この例では、2 つのクラスがあります。クラスの 1 つで、他のクラスのオブジェクトである 2 つの変数を作成したいと考えています。変数は配列になり、もう一方は「通常の」変数になります。

2 つのクラス名。ShowResult とゲーム。

Game クラスでは、次のように記述します。

private ShowResult[] _showResults;
private ShowResult _showResult;

Game クラスのプロパティで、この 2 つの変数を文字列配列と文字列に変換しようとしています。

    public string[] ShowResults
    {
        get { return _showResults.ToString().ToArray(); }
        set { _showResults.ToString().ToArray() = value; }
    }

    public string ShowResult
    {
        get { return _showResult.ToString(); }
        set { _showResult = value; }
    }

これはうまくいきません。カスタムオブジェクトを文字列配列と文字列に変換したいです。しかし、エラーが発生します..できることはわかっていますが、方法がわかりません..

誰かが何か提案があれば、私は素晴らしいと思います. OBS、これは単なる例です。しかし、それでもうまくいかない理由がわかりません..?

ところで、私の下手な英語でごめんなさい。;)

よろしくお願いします

4

2 に答える 2

3

これを試して:

_showResults.Select(a => a.ToString()).ToArray()
于 2012-09-24T10:22:40.007 に答える
0

コードの性質 (つまり、文字列がインスタンスに直接マップされているように見える) を考えると、演算子ShowResultsの実装を検討することをお勧めします。implicit

ShowResults s = "hello";
string ss = s;
Console.WriteLine(ss); // "hello"



class ShowResults
{
    public string SomeProp
    {
        get; private set;
    }
    public static implicit operator ShowResults(string s)
    {
        //this is where you'd parse your string
        //to form a valid ShowResults
        return new ShowResults{SomeProp = s};
    }
    public static implicit operator string(ShowResults s)
    {
        return s.SomeProp;
    }
}
于 2012-09-24T10:29:30.193 に答える