将某些vb.net代码转换为c#

时间:2015-10-29 21:52:22

标签: c# vb.net

我正在将类库从vb.net转换为C#。一切都很好,但在我转换的一个功能中,我遇到了麻烦。

VB.NET代码

Protected Function CloseButtonOfTabPage(ByVal tp As TabPage) As PictureBox
    Return (From item In CloseButtonCollection Where item.Value Is tp Select item.Key).FirstOrDefault
End Function

其中CloseButtonOfTabPage是System.Collection.Generic.Dictionary

我无法转换此代码。任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

假设你的字典有正确的键和值类型,C#中的这段代码应该这样做:

protected PictureBox CloseButtonOfTabPage(TabPage tp)
{
   return CloseButtonCollection
          .Where(item => item.Value == tp)
          .Select(item => item.Key).FirstOrDefault();
}

(您肯定认为CloseButtonCollection是字典,而不是CloseButtonOfTabPage)。

答案 1 :(得分:0)

也是一个可能的代码示例:(使用LINQ)

protected PictureBox CloseButtonOfTabPage(TabPage tp)
{
    return (from item in CloseButtonCollection
            where item.Value == tp
            select item.Key).FirstOrDefault();
}