我有一个包含多个值的Generic List<SomeCode>
列表。
我正在尝试将列表中的第一行传递给对象:
if(list.count==1)
SomeCode sc = list[0];
你能告诉我为什么会这样吗?
这是我的班级
public class SomeCode
{
private int _Somecodeid;
private string _Somecodeescription;
private string _Somecode;
public int SomeCodeId
{
get { return _Somecodeid; }
set { _Somecodeid = value; }
}
public string SomeCodeDescription
{
get { return _Somecodeescription; }
set { _Somecodeescription = value; }
}
public string Code
{
get { return _Somecode; }
set { _Somecode = value; }
}
}
我填充了一个列表LIST列表。 该方法包含一个对象 SomeCode sc = new SomeCode
现在我将第一行指定为对象
if(list.count==1)
SomeCode sc = list[0];
然后除Code以外的所有值都被分配。
除了第一个项目之外,它将获取列表中的所有项目。第一项打印如下:
"sc.SomeCode= SomeCode"s
然而,其他值正确添加 sc.SomeCodeDescription =&#34;你好&#34 ;;等等
当我明确指定值时,它可以工作:
sc.firstItem = list[0].firstItem
答案 0 :(得分:1)
尝试重载“=”运算符并指定匹配值。 像这样的东西 http://msdn.microsoft.com/en-us/library/aa288467(v=vs.71).aspx
答案 1 :(得分:1)
如果您的目标框架是3.5或更高,我认为您正在寻找的是使用LINQ提供的。请记住,您必须导入System.Linq;试试这样的事情,
if(list.count==1)
SomeCode sc = list.First();