如何从存储在数组列表中的“ Point(x,y)”类中获取位置“ x,y”?

时间:2019-01-06 16:29:00

标签: c# winforms arraylist

我将2个不同的变量存储在arraylist中,现在我想按它们的类型将它们分开,但是问题是我不知道如何从arraylist中获取Point类的位置。

我尝试了一些使我出错的事情,但是我还没有发现任何有关将对象转换为Point类的信息,因此这里有示例代码,希望对我有所帮助!

List<string> Strings = new List<string>() { "Test1", "Test2", "Test3" };
ArrayList Data = new ArrayList();
private void button1_Click(object sender, EventArgs e)
{
    foreach(string s in Strings)
    {
        if (s == "Test1")
        {
            Data.Add("T1");
            Data.Add(new Point(1,1));
        }
        else if (s == "Test2")
        {
            Data.Add("T2");
            Data.Add(new Point(2,2));
        }
        else if (s == "Test3")
        {
            Data.Add("T3");
            Data.Add(new Point(3,3));
        }
    }
    foreach(object d in Data)
    {
        string result = "";
        int x = 0;
        int y = 0;
        if (d is string)
        {
            result = d.ToString();
        }
        else if (d is Point)
        {
            //Get the point positions
        }
    }
}

1 个答案:

答案 0 :(得分:0)

如果您需要将Point值存储在字符串Variable结果中,

 else if (d is Point point)
 {
     result = $"x= {point.X},y= {point.Y}";
 }