如何在foreach C#中使用类方法?

时间:2019-02-17 19:48:21

标签: c# python

我有一个python代码,我想在C#中执行相同的逻辑。

objList = [objx, objx, objx]
txt = ""
for obj in objList:
    txt += obj.get_xthing()

在C#中,我是这样的:

string txt = "";
List[object] objList = new List[object]();
objList.Add(objx);
objList.Add(objx);
objList.Add(objx);
foreach(object obj in objList){
    txt += obj.get_xthing();
}

但是出现未定义的方法错误。 有没有可能在C#中执行相同的python代码逻辑?

2 个答案:

答案 0 :(得分:1)

object class上不存在方法get_xthing;实际上,object是所有其他类的基类,它具有非常有限的可用方法集。

对于您而言,不要在列表的声明中和object循环中使用foreach,而应使用objx的实际类型。

答案 1 :(得分:1)

在C#中,您将像这样使用它:

您定义的类:

class Foo
{
    private string _Name = string.Empty;

    //Constructor
    public Foo(string name)
    {
        _Name = name;
    }

    //Public Function
    public string GetName()
    {
        return _Name;
    }
}

Foo类的对象列表

string txt = string.Empty;
List<Foo> listFoo = new List<Foo>();
listFoo.Add(new Foo("Foo1"));
listFoo.Add(new Foo("F002"));

foreach(Foo item in listFoo)
{
   txt += item.GetName();
}