C# C.对象清单
我不知道如何创建对象列表。我获取不可开票的成员ListObjects.TestObject.UniqueID'不能像方法一样使用 任何见解都会有所帮助 我正在尝试创建以下对象列表的对象的代码:C# C.对象清单,c#,C#,我不知道如何创建对象列表。我获取不可开票的成员ListObjects.TestObject.UniqueID'不能像方法一样使用 任何见解都会有所帮助 我正在尝试创建以下对象列表的对象的代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ListObjects { class TestObject { public
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ListObjects
{
class TestObject
{
public int UniqueID { get; set; }
}
}
主要代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ListObjects
{
class Program
{
static void Main(string[] args)
{
TestObject TestObject = new TestObject();
List<TestObject> ObjectList = new List<TestObject>();
ObjectList.Add(new TestObject().UniqueID(1));
ObjectList.Add(new TestObject().UniqueID(10));
ObjectList.Add(new TestObject().UniqueID(39));
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ListObjects
{
class Program
{
static void Main(string[] args)
{
List<TestObject> ObjectList = new List<TestObject>();
ObjectList.Add(new TestObject(1));
ObjectList.Add(new TestObject(10));
ObjectList.Add(new TestObject(39));
}
}
}
public int UniqueID{get;set;}不是一个方法,而是一个setter,您可以像使用方法一样使用它 这样做
ObjectList.Add(new TestObject()
{
UniqueID = 1
});
拆下这条线
并将以下行编辑到此语法
new TestObject { UniqueID = 39 }
我无法记忆语法,但它来自记忆: 重新安装此行:
ObjectList.Add(new TestObject().UniqueID(1));
ObjectList.Add(new TestObject(){UniqueID = 1});
这一行:
ObjectList.Add(new TestObject().UniqueID(1));
ObjectList.Add(new TestObject(){UniqueID = 1});
对所有人都这样做。添加你有的行。这里有几件事要做。声明列表不需要对象的实例,只需要类型 此外,UniqueID是一个属性,而不是一个方法。您为它们赋值或从中读取值,而不是像方法的参数那样传入值 您还可以在一次调用中初始化列表,如下所示:
List<TestObject> ObjectList = new List<TestObject>()
{ new TestObject() { UniqueID = 1},
new TestObject() { UniqueID = 10 },
new TestObject() { UniqueID = 39 } };
这将产生一个新的列表,其中T是TestObject类型,列表初始化为TestObject的3个实例,每个实例都用UniqueID的值初始化。您像使用方法一样使用UniqueID。它是一个属性,必须指定。如果您知道在创建TestObject时将分配一个ID,那么应该让构造函数支持它,并相应地使用它。如果不是,则使用ObjectList.Addnew TestObject{UniqueID=1};在没有构造函数的情况下赋值 这就是我将如何处理这种情况:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ListObjects
{
class TestObject
{
public int UniqueID { get; set; }
public TestObject(int uniqueId)
{
UniqueID = uniqueId;
}
}
}
主要代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ListObjects
{
class Program
{
static void Main(string[] args)
{
TestObject TestObject = new TestObject();
List<TestObject> ObjectList = new List<TestObject>();
ObjectList.Add(new TestObject().UniqueID(1));
ObjectList.Add(new TestObject().UniqueID(10));
ObjectList.Add(new TestObject().UniqueID(39));
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ListObjects
{
class Program
{
static void Main(string[] args)
{
List<TestObject> ObjectList = new List<TestObject>();
ObjectList.Add(new TestObject(1));
ObjectList.Add(new TestObject(10));
ObjectList.Add(new TestObject(39));
}
}
}
问题就在这里:newtestobject.UniqueID1;-应为new TestObject.UniqueID=1;UniqueID是一个属性,而不是一个方法,在原始代码中,它就像一个方法一样被使用。如果我这样做,就会得到无效的参数。