字典<字符串,字符串>到字典<控件,对象>使用 IEnumerable.Select()

发布于 2024-08-31 23:51:34 字数 717 浏览 3 评论 0 原文

我有一个 System.Collections.Generic.Dictionary 包含控件 ID 和数据绑定的适当数据列:

var dic = new Dictionary<string, string>
{
    { "Label1", "FooCount" },
    { "Label2", "BarCount" }
};

我这样使用它:

protected void FormView1_DataBound(object sender, EventArgs e)
{
    var row = ((DataRowView)FormView1.DataItem).Row;
    Dictionary<Control, object> newOne = dic.ToDictionary(
        k => FormView1.FindControl(k.Key)),
        k => row[k.Value]);
}

所以我使用 IEnumerable ;.ToDictionary(Func, Func).

是否可以使用 IEnumerable.Select(Func) 执行相同操作?

I have a System.Collections.Generic.Dictionary<string, string> containing control ID and appropriate data column to data bind:

var dic = new Dictionary<string, string>
{
    { "Label1", "FooCount" },
    { "Label2", "BarCount" }
};

I use it that way:

protected void FormView1_DataBound(object sender, EventArgs e)
{
    var row = ((DataRowView)FormView1.DataItem).Row;
    Dictionary<Control, object> newOne = dic.ToDictionary(
        k => FormView1.FindControl(k.Key)),
        k => row[k.Value]);
}

So I'm using IEnumerable<T>.ToDictionary(Func<T>, Func<T>).

Is it possbile to do the same using IEnumerable<T>.Select(Func<T>) ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

离去的眼神 2024-09-07 23:51:34

当然可以,但返回值将是 IEnumerable> 而不是 Dictionary:(

IEnumerable<KeyValuePair<Control, object>> newOne = dic.Select(
    k => new KeyValuePair<Control, object>(FormView1.FindControl(k.Key), 
                                           row[k.Value]));

未经测试)

Sure, but the return value will be an IEnumerable<KeyValuePair<Control, object>> rather than a Dictionary<Control, object>:

IEnumerable<KeyValuePair<Control, object>> newOne = dic.Select(
    k => new KeyValuePair<Control, object>(FormView1.FindControl(k.Key), 
                                           row[k.Value]));

(untested)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文