从Vb.net获取C#等价物时遇到问题

从Vb.net获取C#等价物时遇到问题,c#,vb.net,syntax,C#,Vb.net,Syntax,我已经想尽一切办法来得到等价的c#,但我就是搞不懂到底发生了什么,也不懂语法 For Each c As Control In pnlThumbs.Controls If Not IsNothing(c.Tag) Then Dim GUID As String = CStr(CType(c.Tag, Object())(0)) End If Next 我遇到的问题是在C#中以相同的方式获取字符串GUID。为什

我已经想尽一切办法来得到等价的c#,但我就是搞不懂到底发生了什么,也不懂语法

For Each c As Control In pnlThumbs.Controls
            If Not IsNothing(c.Tag) Then
                Dim GUID As String = CStr(CType(c.Tag, Object())(0))
            End If
 Next  

我遇到的问题是在C#中以相同的方式获取字符串
GUID

为什么不使用类似的东西呢。它会告诉您C#中的等效代码是:

编辑:看来这次Telerik转换器失败了。可以使用另一种方法找到正确答案:


谢谢,我没想过要使用在线转换器。不过还是有一个错误。表示无法将带[]的索引应用于“object”类型的表达式。已找到它:字符串GUID=((object[])(c.Tag))[0]。ToString()@Dylan变换器似乎不能每次都正确,但至少它们提供了可以调整的初始转换
foreach (Control c in pnlThumbs.Controls) 
{
    if ((c.Tag != null)) 
    {
        string GUID = Convert.ToString((object[])c.Tag(0));
    }
}
foreach (Control c in pnlThumbs.Controls) 
{
    if ((c.Tag != null)) 
    {
        string GUID = Convert.ToString((object[])c.Tag[0]);
    }
}