Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Var从C#转换为VB?_C#_Asp.net_Vb.net - Fatal编程技术网

如何将Var从C#转换为VB?

如何将Var从C#转换为VB?,c#,asp.net,vb.net,C#,Asp.net,Vb.net,我发现以下C#代码对我很有用: public partial class Default2 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (Session["EID"] != null) { int EmpID = (int)Session["EID"]; DataC

我发现以下C#代码对我很有用:

public partial class Default2 : System.Web.UI.Page 
  { 
    protected void Page_Load(object sender, EventArgs e) 
    { 
        if (Session["EID"] != null) 
        { 
            int EmpID = (int)Session["EID"]; 

            DataClassesDataContext dc = new DataClassesDataContext(); 
            var empInfo = from emp in dc.EmployeeLogins 
                          where emp.EmployeeID == EmpID 
                          select new
                          { 
                                     emp.EmployeeLoginKey, 
                                     emp.EmployeeID, 
                                     emp.username, 
                                     emp.passwd 
                          }; 

           foreach (var v in empInfo) 
           { 
               lblID.Text = v.EmployeeID.ToString(); 
               lblLoginKey.Text = v.EmployeeLoginKey.ToString(); 
               lblPassword.Text = v.passwd.ToString(); 
               lblUserName.Text = v.username.ToString(); 

            } 
       } 
       else 
       { 
           Response.Redirect("Default.aspx"); 
        } 
    } 
} 
我使用了转换为vb的在线转换器,当我编译程序时,它返回以下句子的错误:

For Each v As var In empInfo
如何将var从c#转换为vb?

尝试以下代码:

For Each Dim item In empInfo

只需跳过类型声明:
对于empInfo中的每个v

您必须在上设置
选项推断

MSDN中的形式描述如下:

For Each element [ As datatype ] In group
    [ statements ]
    [ Continue For ]
    [ statements ]
    [ Exit For ]
    [ statements ]
Next [ element ]
要让VB推断变量类型,只需省略
As
子句,例如

Dim a = b + c
注意:只有当
选项推断
处于
开启状态时,此选项才有效。当
选项推断
关闭
时,没有类型说明符的变量将默认为
对象

尝试使用

foreach (Dim v in empInfo) 
                lblID.Text = v.EmployeeID.ToString()
                lblLoginKey.Text = v.EmployeeLoginKey.ToString()
                lblPassword.Text = v.passwd.ToString()
                lblUserName.Text = v.username.ToString()
 Next
别忘了在页面顶部添加以下行

Option Strict On
Option Infer On

请在将来格式化您的代码-没有缩进很难阅读。在dc中的emp语句var empInfo=中的“empInfo”是什么。EmployeeLogins@SatpalSingh-
empInfo
将是LINQ查询产生的匿名类型的集合。它不起作用<返回代码>表达式预期值
错误。您需要同时启用
选项严格
选项推断
才能执行此操作,否则代码或将不编译“或将不编译”。。。或
Option Strict On
Option Infer On