将泛型列表中的第一行赋值给对象

本文关键字:一行 赋值 对象 列表 泛型 | 更新日期: 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();