如何将Var从C#转换为VB?
我发现以下C#代码对我很有用:如何将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
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