2013-04-05 24 views
0

我有一个包含多个值的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; } 
    } 
} 

我填充列表列表列表。 的方法包含对象 SomeCode SC =新SomeCode

现在,当我分配非常第一行到对象

if(list.count==1) 
    SomeCode sc = list[0]; 

然后所有的值会被分配不同的代码。

这需要所有在列表中除了第一个项目。中的第一项被打印:

"sc.SomeCode= SomeCode"s 

然而,其他值被正确地添加 sc.SomeCodeDescription =“你好”;等

当我明确指定的值,那么它的工作原理:

sc.firstItem = list[0].firstItem 
+3

请给一个适当的例子。 – 2013-04-05 01:28:49

+0

如果firstItem是一个SomeCode对象,为什么要为它指定类名? – 2013-04-05 01:36:09

+0

我不分配它的类名,我分配整个行。但是由于某些原因,第一个Item没有被正确添加到对象中,当我尝试打印它时,它会打印类名 – user1110790 2013-04-05 01:41:01

回答

1

如果你的目标框架是3.5或更高,我认为你可以使用LINQ提供你正在寻找的东西。请记住,您将不得不导入System.Linq;尝试这样的事情,

if(list.count==1) 
    SomeCode sc = list.First(); 
相关问题