将自定义数组对象转换为字符串数组

时间:2012-09-24 10:19:36

标签: c#

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

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

两个班级名称。 ShowResult和Game。

在Game类中我写道:

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,这只是一个例子。但我仍然不明白为什么它不会工作..?

顺便说一句,抱歉我的英语不好。 ;)

祝你好运

2 个答案:

答案 0 :(得分:3)

试试这个:

_showResults.Select(a => a.ToString()).ToArray()

答案 1 :(得分: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;
    }
}
相关问题