我有一个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代码逻辑?
答案 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();
}