将泛型列表中的第一行赋值给对象
本文关键字:一行 赋值 对象 列表 泛型 | 更新日期: 2023-09-27 18:07:46
我有一个包含多个值的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 list列表。该方法包含一个对象someecode sc = new someecode
现在当我将第一行赋值给对象为
if(list.count==1)
SomeCode sc = list[0];
然后所有的值都被赋值,除了Code。
取列表中除第一个项外的所有项。第一个项目打印如下:
"sc.SomeCode= SomeCode"s
,但其他值被正确添加sc.SomeCodeDescription = "Hello";等
当我显式赋值时,它可以工作:
sc.firstItem = list[0].firstItem
尝试重载"="操作符并分配匹配的值。像这样http://msdn.microsoft.com/en-us/library/aa288467 (v = vs.71) . aspx
如果您的目标框架是3.5或更高,我认为您正在寻找的可以使用LINQ提供。记住,你必须Import System.Linq;试试这样写,
if(list.count==1)
SomeCode sc = list.First();