【发布时间】:2021-03-20 09:24:45
【问题描述】:
public class item
{
public int x;
public string s;
public item ()
{}
}
然后在 main 方法中,我尝试创建一个列表并打印出其中的元素。
{
item first=new item();
first.x=5;
first.s="Hello";
item second =new item();
second.x=6;
second.s="world";
List <item> myItem= new List <item> ();
myItem.Add(first);
myItem.Add(second);
foreach (item element in myItem)
{
Console.WriteLine(element);
}
}
没有语法错误,但是当我尝试运行上面的代码时,终端没有返回任何内容。
【问题讨论】:
-
尝试使用你的对象字段,Console.WriteLine("x: " + element.x.ToString() + " s: " + element.s);这可能会有所帮助stackoverflow.com/questions/360277/…
-
请提供minimal reproducible example 而不是sn-ps。我希望打印
item两次,因为ToString()的默认实现只返回类名。 (顺便说一句,我强烈建议尽早学习并遵循 C# 命名约定。) -
“没有语法错误” false。这不编译。
first.x=5;将不起作用,因为int x没有定义访问器,因此是私有的。而你正在使用y,它没有被定义。 -
我修正了错字并在字段变量中添加了访问修饰符,以免混淆,谢谢。
-
我们仍然缺少minimal reproducible example。同样,我希望它会打印两次
item。如果它没有为您打印任何内容,则可能还有其他问题……但如果我们无法重现它,我们将无法帮助您。