当你使用Item[] truff=new Item[3]{"one","two","three"};时,实际上在做如下事情:
1、创建一个长度为3的Item对象数组,但是对象数组中没有对象;
2、把字符串(注意是字符串,而不是对象)"one","two","three"赋给数组中的三个对象。但是你的对象数组的类型是Item,而赋给的值却是string,所以出错了。
而第二次你把数组类型改作了string,就是对的。
所以如果你要使用对象数组,并且初始化,那么可以是:
Item[] truff=new Item[3]{new Item("one"),new Item("tow"),new Item("three")};
或者使用ArrayList或者是集合代替对象数组。
FYI.