2012-05-25 24 views
1

我有List<ValuePair>對象:listUserRoleValuePair。我必須在foreach循環的列表中添加ixUsername作爲我的值對。我如何添加這個?如何將值添加到列表<valuepair>對象

List<ValuePair> listUserRoleValuePair = new List<ValuePair>(); 
var ixUserList= _mapper1.FindUserRoleLike(sName); 
User result = null; 

foreach (var ixUser in ixUserList) 
{ 
    result = new UserMapper(connection).FindById(ixUser); 
    var name = result.SFirstName + " " + result.SLastName; 

    //listUserRoleValuePair.Add(ixUser); 
    // listUserRoleValuePair.Add( 
} 

我ValuePair類是如下

public class ValuePair 
{ 
    private string _index; 
    private string _sName; 

    public ValuePair(string index, string sName) 
    { 
     _index = index; 
     _sName = sName; 
    } 

    public string Index 
    { 
     get { return _index; } 
     set { _index = value; } 
    } 

    public string SName 
    { 
     get { return _sName; } 
     set { _sName = value; } 
    } 
} 
+4

請出示ValuePair類 –

+1

@SteveDog他可能意味着'KeyValuePair'。這是正確的Manoj嗎? – mattytommo

+0

它不是KeyValuePair。它的ValuePair,但類似於KeyValuePair我認爲.. –

回答

2

提供ixUser是索引字符串,使用此代碼:

List<ValuePair> listUserRoleValuePair = new List<ValuePair>(); 
var ixUserList= _mapper1.FindUserRoleLike(sName); 
User result = null; 

foreach (var ixUser in ixUserList) 
{ 
    result = new UserMapper(connection).FindById(ixUser); 
    var name = result.SFirstName + " " + result.SLastName; 
    listUserRoleValuePair.Add(new ValuePair(ixUser, name)); 
} 
4

你可以使用KeyValuePair類:

List<KeyValuePair<string,string>> listUserRoleValuePair = new List<KeyValuePair<string,string>>(); 

然後:

listUserRoleValuePair.Add(new KeyValuePair<string,string>(name, ixUser); 

你也可以使用一個字典而不是一個列表。

+1

他說'ValuePair'不是'KeyValuePair' :) – mattytommo

+2

+1。 OP不會顯示'ValuePair'類型的任何數據。因此,假設它的功能與'KeyValuePair '相當。也許downvoter可以解釋他爲什麼downvoted? –

+1

@ OlivierJacot-Descombes它不是我,但是在發佈這個答案之後,Manoj添加了ValuePair類的細節。 –

1

試試這個

var pair = new ValuePair(); 
// somehow intialize pair 
listUserRoleValuePair.Add(pair); 
1
listUserRoleValuePair.Add(new ValuePair(ixUser, name)); 
2
listUserRoleValuePair.Add(new ValuePair(index, name)); 

IM,不清楚什麼索引值是你的對象,但不管它是什麼,只要將它替換成上面的行

2

您可以只添加支持子對象類型的項目,您可以使用其中的一種。

collection.Add(new ValuePair(index, Name)) 

or 
collection.Add(new ValuePair(){Index = index,SName= Name}); 

或者非常簡單的創建對象,並通過爲

Valuepair valpair = new ValuePair(); 
valpair.Index = index; 
valpair.SName = name; 

collection.Add(valpair); 
相關問題