1

我正在尝试将我的类的对象数组转换为字符串数组。

在这个例子中,我有两个类。在我的一个类中,我想创建两个变量,另一个类的对象。一个变量将是一个数组,另一个是“常规”变量。

两个类名。显示结果和游戏。

在游戏类中,我写道:

private ShowResult[] _showResults;
private ShowResult _showResult;

在我的 Game 类的属性中,我尝试将这两个变量转换为字符串数组和字符串:

    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 回答