1

我有一个List<ValuePair>对象:listUserRoleValuePair。我必须在 foreach 循环的列表中添加ixUsername作为我的值对。我怎样才能添加这个?

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

6 回答 6

4

您可以使用 KeyValuePair 类:

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

接着:

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

您也可以使用字典而不是列表。

于 2012-05-25T14:01:44.167 回答
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);
于 2012-05-25T14:58:47.640 回答
2
listUserRoleValuePair.Add(new ValuePair(index, name));

我不清楚你的对象的索引值是什么,但不管它是什么,只需在上面的行中替换它

于 2012-05-25T14:04:09.117 回答
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));
}
于 2012-05-25T14:03:27.523 回答
1
listUserRoleValuePair.Add(new ValuePair(ixUser, name));
于 2012-05-25T14:03:59.100 回答
1

尝试这个

var pair = new ValuePair();
// somehow intialize pair
listUserRoleValuePair.Add(pair);
于 2012-05-25T14:03:16.550 回答