[英]How to convert Var from C# to VB?
我找到了以下對我有用的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 v In empInfo
。
您必須設置Option Infer On
。
Formal For Each
語句語法在MSDN上描述如下:
For Each element [ As datatype ] In group
[ statements ]
[ Continue For ]
[ statements ]
[ Exit For ]
[ statements ]
Next [ element ]
嘗試使用此代碼:
For Each Dim item In empInfo
For Each v In empInfo
要讓VB推斷變量類型,只需省略As
子句,例如
Dim a = b + c
注意:這僅在Option Infer
為On
。 當Option Infer
為Off
,沒有類型說明符的變量將默認為Object
。
試試吧
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.