1

私はList<ValuePair>オブジェクトを持っています:listUserRoleValuePair。foreachループのリストに値のペアとしてixUserとを追加する必要があります。nameこれを追加するにはどうすればよいですか?

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

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 に答える
2
listUserRoleValuePair.Add(new ValuePair(index, name));

イム、あなたのオブジェクトのインデックス値が何であるかは明確ではありませんが、それが何であれ、上の行でそれを置き換えるだけです

于 2012-05-25T14:04:09.117 に答える
1

これを試して

var pair = new ValuePair();
// somehow intialize pair
listUserRoleValuePair.Add(pair);
于 2012-05-25T14:03:16.550 に答える
1
listUserRoleValuePair.Add(new ValuePair(ixUser, name));
于 2012-05-25T14:03:59.100 に答える