C#字典键到数组

C#字典键到数组,c#,asp.net,arrays,dictionary,C#,Asp.net,Arrays,Dictionary,我有一个下拉列表,可以选择多个项目。我正在使用字典列表来显示项目。因此,为了选择多个项目,我需要将字典列表转换为数组。下面是它的外观: public static Dictionary<string, string> DropdownItem = new Dictionary<string, string>() { { "", "" }, { "1", "item1" }, { "2", "item2" },

我有一个下拉列表,可以选择多个项目。我正在使用字典列表来显示项目。因此,为了选择多个项目,我需要将字典列表转换为数组。下面是它的外观:

public static Dictionary<string, string> DropdownItem = new Dictionary<string, string>()
    {
        { "", "" },
        { "1", "item1" },
        { "2", "item2" },
        { "3", "item3" },
        { "4", "item4" },
        { "5", "item5" },
    };

       <div class="form-group">
            <label asp-for="DropdownItem" class="control-label" multiple></label>
            <span asp-validation-for="DropdownItem" class="text-danger"></span>
            <select asp-for="DropdownItem" class="form-control">
                <option value="" disabled="disabled" selected="selected">drop down</option>
                <option value="1">item1</option>
                <option value="2">item2</option>
                <option value="3">item3</option>
                <option value="4">item4</option>
                <option value="5">item5</option>
            </select>
        </div>
publicstaticdictionary-DropdownItem=newdictionary()
{
{ "", "" },
{“1”,“item1”},
{“2”,“第2项”},
{“3”,“第3项”},
{“4”,“第4项”},
{“5”,“第5项”},
};
下降
项目1
项目2
项目3
项目4
项目5
这是我将其转换为数组时的外观:

public static Dictionary<string, string[]> DropdownItem = new Dictionary<string, string[]>()
    {
        { "", "" },
        { "1", "item1" },
        { "2", "item2" },
        { "3", "item3" },
        { "4", "item4" },
        { "5", "item5" },
    };
publicstaticdictionary-DropdownItem=newdictionary()
{
{ "", "" },
{“1”,“item1”},
{“2”,“第2项”},
{“3”,“第3项”},
{“4”,“第4项”},
{“5”,“第5项”},
};

这是否正确?

看起来您正在使用,因此您应该能够执行以下操作:

/*
    This assumes that you have your Dictionary<string, string> DropdownItem 
    in your @model 
*/
<select asp-for="DropdownItem" 
        asp-items="@(new SelectList(Model.DropdownItem,"Value","Key"))">
    <option>Please select one</option>
</select>
/*
这假设您有字典下拉项
在您的@model中
*/
请选择一个

应该没有必要或理由将您的
词典
转换为
词典

之前和之后是相同的。还有,你说的“正确”是什么意思?你在第二个数组中的值是一个字符串数组,但你只传递普通字符串。此外,这段代码甚至不会编译你的字典类型,你用pairs填充它是的,我不知道你在问什么。当您有某个对象的
IEnumerable
时,使用选择标记帮助器是很简单的,你的字典是一个
IEnumerable
,所以只需设置键/值:
key
value
谢谢你的回复。我应该如何处理这个问题?正确的方法是什么?@maccetura。我真的很感谢你举了这个例子。我将关注该链接并了解更多信息。顺致敬意,